แจ้ง error วนลูป array ซ้อน array ค่าที่ส่ง json_encode "Json -> PHP"

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

แจ้ง error วนลูป array ซ้อน array ค่าที่ส่ง json_encode "Json -> PHP"

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

โค้ด: เลือกทั้งหมด

<?php
$json2 = '{"a":"1","b":"2"}';
echo "<hr/>";
echo json_encode($json);
echo "<hr/>";
$a = json_decode($json2);
    foreach($a as $key => $value){
    echo "$key = $value <br/>";
    }
echo "<hr/>";
?>
ผล ที่ได้
a = 1
b = 2
_________________

โค้ด: เลือกทั้งหมด

<?php
$json = '{"a":"1","b":"2","aa":{"aaa":"111"}}';
$b = json_decode($json);
        foreach($b as $key => $value){
            echo "$key = $value <br/>";

        foreach($value as $k => $v)
            echo "$k = $v <br/>";
}
echo "<hr/>";
?>
ผลที่ได้ :cry: :cry:
Object of class stdClass could not be converted to string
foreach($b as $key => $value){
echo "$key = $value <br/>";

Invalid argument supplied for foreach()
foreach($value as $k => $v)
echo "$k = $v <br/>";
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41248
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: แจ้ง error วนลูป array ซ้อน array ค่าที่ส่ง json_encode "Json -> PHP"

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ลอง print_r()
หรือ
var_dump()
ดูว่าตัวแปลเป็นอะไร array หรือ object
array แสดงด้วย
$v['key']

object แสดงด้วย
$v->key
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: แจ้ง error วนลูป array ซ้อน array ค่าที่ส่ง json_encode "Json -> PHP"

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

โค้ด: เลือกทั้งหมด

$json2 = '{"a":"1","b":"2"}';
//var_dump(json_decode($json)); // json -> php = object 
//var_dump(json_decode($json, true)); // json -> php = array


$a = json_decode($json2,true); //json -> php = object 
    foreach($a as $key => $value){
    echo "$key = $value <br/>";
    }
echo "<hr/>";
echo $a['a'];

echo "<hr/>";
$b = json_decode($json2); //json -> php = object 
    foreach($a as $key => $value){
    echo "$key = $value <br/>";
    }
echo "<hr/>";
echo $b->a; 
ทั้ง 2 เเบบได้ผลเหมือนกัน เลย เเต่ จะดึงข้อมูล array ซ้อน ทำยังไงค่ะ
$json = '{"a":"1","b":"2","aa":{"aaa":"111"}}';
แบบนี้ก้ออ้างถึงได้ เเค่ 1
echo $a['a'];
echo $b->a;
---- หนูอยากให้มัน "aa":{"aaa":"111"} ดึงค่าชุดนี้่ออกมา ----
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41248
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: แจ้ง error วนลูป array ซ้อน array ค่าที่ส่ง json_encode "Json -> PHP"

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

โค้ด: เลือกทั้งหมด

$json = '{"a":"1","b":"2","aa":{"aaa":"111"}}';

$b = json_decode($json); //json -> php = object 
foreach ($b as $key => $value) {
    if(is_object($value)){
        echo $key .'=' . $value->aaa;
    } else {
        echo $key .'='.$value .'<br/>';
    }
}
 
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 105