ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: internalworldsite ที่ 26 พฤศจิกายน 2017, 15:43:22



หัวข้อ: รับค่า json มาให้มันแสดง เป็น php ตามที่เราต้องการยังไงครับ รบกวนที
เริ่มหัวข้อโดย: internalworldsite ที่ 26 พฤศจิกายน 2017, 15:43:22
โค๊ด:
	$json_return = '
{
    "thailand": [
        {
            "city": "Bangkok",
            "contact": {
                "phone": "088888888",
                "line_id": "line-thailand-bangkok"
            }
        },
        {
            "city": "Chiang Mai",
            "contact": {
                "phone": "0887777777",
                "line_id": "line-thailand-chiang-mai"
            }
        }
    ],
    "usa": [
         {
            "city": "New York",
            "contact": {
                "phone": "0886666666",
                "line_id": "line-thailand-new_york"
            }
        },
        {
            "city": "Chicago",
            "contact": {
                "phone": "0885555555",
                "line_id": "line-thailand-chicago"
            }
        }
    ]
}
';

ถ้าผมต้องการดึงค่าของ thailand > chiang mai contact > phone เขียนยังไงหรอครับ

ผมทำตาม http://php.net/manual/en/function.json-decode.php แล้วงงมาก งมมาตั้งแต่เที่ยง ไม่เข้าใจจริง ๆ

รบกวนดึงให้ดูซักอันครับ ขอบคุณครับ


หัวข้อ: Re: รับค่า json มาให้มันแสดง เป็น php ตามที่เราต้องการยังไงครับ รบกวนที
เริ่มหัวข้อโดย: romance69 ที่ 26 พฤศจิกายน 2017, 16:20:16
โค๊ด:
$json = json_decode($json_return);

    foreach ($json['thailand'] as $j) {
        echo ' เมือง => ', $j['city'] , '<br />';
        echo ' เบอร์ => ', $j['contact']['phone'] , '<br />';
        echo ' Line ID => ', $j['contact']['line_id'] , '<br />';
    }


ประมาณนี้ครับ ลองเอาไปปรับแต่งเพิ่มเดิมเอานะครับ


หัวข้อ: Re: รับค่า json มาให้มันแสดง เป็น php ตามที่เราต้องการยังไงครับ รบกวนที
เริ่มหัวข้อโดย: internalworldsite ที่ 26 พฤศจิกายน 2017, 16:36:53
โค๊ด:
$json = json_decode($json_return);

    foreach ($json['thailand'] as $j) {
        echo ' เมือง => ', $j['city'] , '<br />';
        echo ' เบอร์ => ', $j['contact']['phone'] , '<br />';
        echo ' Line ID => ', $j['contact']['line_id'] , '<br />';
    }


ประมาณนี้ครับ ลองเอาไปปรับแต่งเพิ่มเดิมเอานะครับ

ขอบคุณมาก ๆ ครับ งมมากตั้งนาน แต่ทำไมผมต้องเปลี่ยนจาก json_decode($json_return); เป็น json_decode($json_return,true); หรอถึงใช้งานได้ true ข้างหลังนี้มันแปลว่าอะไรครับ


หัวข้อ: Re: รับค่า json มาให้มันแสดง เป็น php ตามที่เราต้องการยังไงครับ รบกวนที
เริ่มหัวข้อโดย: romance69 ที่ 26 พฤศจิกายน 2017, 16:50:40
โค๊ด:
$json = json_decode($json_return);

    foreach ($json['thailand'] as $j) {
        echo ' เมือง => ', $j['city'] , '<br />';
        echo ' เบอร์ => ', $j['contact']['phone'] , '<br />';
        echo ' Line ID => ', $j['contact']['line_id'] , '<br />';
    }


ประมาณนี้ครับ ลองเอาไปปรับแต่งเพิ่มเดิมเอานะครับ

ขอบคุณมาก ๆ ครับ งมมากตั้งนาน แต่ทำไมผมต้องเปลี่ยนจาก json_decode($json_return); เป็น json_decode($json_return,true); หรอถึงใช้งานได้ true ข้างหลังนี้มันแปลว่าอะไรครับ

json_decode($json_return, true); คืออ่านแบบ array
json_decode($json_return, false); คืออ่านแบบ object


หัวข้อ: Re: รับค่า json มาให้มันแสดง เป็น php ตามที่เราต้องการยังไงครับ รบกวนที
เริ่มหัวข้อโดย: internalworldsite ที่ 26 พฤศจิกายน 2017, 17:16:44
อ๋อครับ เข้าใจแล้ว ขอบคุณครับ


หัวข้อ: Re: รับค่า json มาให้มันแสดง เป็น php ตามที่เราต้องการยังไงครับ รบกวนที
เริ่มหัวข้อโดย: hangmann2 ที่ 26 พฤศจิกายน 2017, 17:19:11
ลองทำตามคนที่มาบอกเลยครับ