我一直试图找出为什么在尝试遍历Youtube API生成的数组时遇到错误(由print_r获取的树):
Array
(
[nextPageToken] => CAIQAA
[items] => Array
(
[0] => Array
(
[snippet] => Array
(
[resourceId] => Array
(
[videoId] => sGIm0-dQd8M
)
)
)
[1] => Array
(
[snippet] => Array
(
[resourceId] => Array
(
[videoId] => VGd1ml4Hvas
)
)
)
)
)
在第一个例子中,我尝试了foreach,但它产生了一个错误:
$data_decode = json_decode($data, true); //here I get my array
foreach ($data_decode as $decode){
foreach ($decode as $code){
echo $code['snippet']['resourceId']['videoId'];
}
}
Invalid argument supplied for foreach()
我认为问题出在“nextPageToken”节点上,我需要这个节点。 遍历此数组的正确方法是什么?
答案 0 :(得分:1)
foreach ($data_decode['items'] as $item){
echo $element['snippet']['resourceId']['videoId'];
}
只是一个提示,如果你使用var_export
而不是print_r
,我会更容易,var_export将打印一个语法正确的PHP数组,print_r在人类中打印一个数组可读格式。
因此我必须获取您的示例数据并将所有[key]
替换为"key"
引用值并添加逗号,然后才能在代码中使用它来进行测试。
我能做到,但这很乏味。