ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingรับค่า json มาให้มันแสดง เป็น php ตามที่เราต้องการยังไงครับ รบกวนที
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: รับค่า json มาให้มันแสดง เป็น php ตามที่เราต้องการยังไงครับ รบกวนที  (อ่าน 809 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
internalworldsite
ก๊วนเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 308



ดูรายละเอียด
« เมื่อ: 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 แล้วงงมาก งมมาตั้งแต่เที่ยง ไม่เข้าใจจริง ๆ

รบกวนดึงให้ดูซักอันครับ ขอบคุณครับ
« แก้ไขครั้งสุดท้าย: 26 พฤศจิกายน 2017, 15:43:52 โดย internalworldsite » บันทึกการเข้า

อย่าหยุดพัฒนา
romance69
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 169
ออฟไลน์ ออฟไลน์

กระทู้: 2,158



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 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 />';
    }


ประมาณนี้ครับ ลองเอาไปปรับแต่งเพิ่มเดิมเอานะครับ
บันทึกการเข้า
internalworldsite
ก๊วนเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 308



ดูรายละเอียด
« ตอบ #2 เมื่อ: 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 ข้างหลังนี้มันแปลว่าอะไรครับ
บันทึกการเข้า

อย่าหยุดพัฒนา
romance69
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 169
ออฟไลน์ ออฟไลน์

กระทู้: 2,158



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 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
บันทึกการเข้า
internalworldsite
ก๊วนเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 308



ดูรายละเอียด
« ตอบ #4 เมื่อ: 26 พฤศจิกายน 2017, 17:16:44 »

อ๋อครับ เข้าใจแล้ว ขอบคุณครับ
บันทึกการเข้า

อย่าหยุดพัฒนา
hangmann2
สมุนแก๊งเสียว
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 655



ดูรายละเอียด
« ตอบ #5 เมื่อ: 26 พฤศจิกายน 2017, 17:19:11 »

ลองทำตามคนที่มาบอกเลยครับ
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์