2016-08-30 106 views
0

我想ID,網址,IMG和在JSON data.My當前代碼視頻標題不輸出任何 可以在任何一個告訴我,我在做什麼wrong.Thanks如何使用PHP foreach解析json數組?

$code2 = stripslashes($_POST['outputtext']); 
$data = json_decode($code2, true); 
$i = 0; 

foreach($data->videos as $values) 
{ 
    echo $values->id . "\n"; 
    echo $values->url . "\n"; 
    echo $values->img . "\n"; 
    echo $values->title . "\n"; 
$i++; 
} 

數據:

{ 
    "cat": { 
     "id": "1234567", 
     "source_id": null, 
     "title_en": "first season", 
     "description_en": "This is spring category ", 
    }, 
    "videos": [{ 
     "id": "312412343", 
     "url": "\/2015-07-17\/1abcd.mp4", 
     "img": "image\/44\/\/2015-07-17\/1abcd.jpg", 
     "title": "first", 

    }, { 
     "id": "2342343", 
     "url": "\/2015-07-16\/2dcdeg.mp4", 
     "img": "images\/44\/\/2015-07-16\/2dcdeg.jpg", 
     "title": "second", 


    }]; 


} 

驗證JSON數據:

{ 
    "cat":{ 
     "id":"1234567", 
     "source_id":null, 
     "title_en":"first season", 
     "description_en":"This is spring category " 
    }, 
    "videos":[ 
     { 
     "id":"312412343", 
     "url":"\/2015-07-17\/1abcd.mp4", 
     "img":"image\/44\/\/2015-07-17\/1abcd.jpg", 
     "title":"first" 
     }, 
     { 
     "id":"2342343", 
     "url":"\/2015-07-16\/2dcdeg.mp4", 
     "img":"images\/44\/\/2015-07-16\/2dcdeg.jpg", 
     "title":"second" 
     } 
    ] 
} 
+0

可能它不會輸出任何內容,因爲您嘗試像訪問對象一樣訪問數組。 –

+0

$ data = json_decode($ code2,true);返回數組不是對象 –

+1

您的數據無效json http://json.parser.online.fr/ –

回答

4

因爲你叫

$data = json_decode($code2, true); 

您的$data數組而不是您嘗試訪問它的對象。因此,請將其作爲常規數組訪問,或者將第二個參數json_decode()更改爲false(或者將其刪除,因爲這是默認值),因爲這是控制轉換行爲的原因。

見文檔:http://php.net/manual/en/function.json-decode.php

你的數據不是有效的JSON(;末,冗餘和缺失昏迷 - 它只是打破)。

如果出現這樣的問題,var_dump()對檢查您真正使用的數據非常有幫助。

+0

感謝您的回覆。 Marcin Orlowski我將json_decode的第二個參數更改爲false,但仍然沒有數據! – user1788736

+0

查看編輯答案 –

+0

我用var_dump($ data)我得到null!所以如何獲得我想要的數據?因爲我使用的方法不工作! – user1788736