我有一个来自API的cURL命令,它为我输出JSON:
curl_setopt($ch, CURLOPT_URL, "https://url.com/Search/search/xref?user=[{%22USER%22:%22userName%22}]");
然后我在输出中使用PHP的jsondecode:
$json = json_decode($answerSearch, true);
我的控制台的响应标签为print_r($json);
Array (
[Result] => Array
(
[Data] => Array
(
[ReqCompany] => ACME
[ReqLocation] =>
[Dot] => Array
(
[0] => Array
(
[ComID] => 20388417
[FavoriteColor] => Blue
)
[1] => Array
(
[ComID] => 20388418
[FavoriteColor] => Pink
)
[2] => Array
(
[ComID] => 20388419
[FavoriteColor] => Red
)
)
[XREFSearchOperation] => Exact
)
)
)
如何编写foreach循环来遍历此数组的每个元素并输出每个`[FavoriteColor]'?我用一个简单的数组做了很多次,但从来没有多维数组。
我试过这个:
foreach ($json as $i) {
echo $i['FavoriteColor'];
}
但我的语法错了。
答案 0 :(得分:1)
$json
是一个只有一个项目Result
的数组,另一个数组,只有一个项目,另一个数组Data
等。Data
有多个项目,其中一个是Dot
,它包含你想要的数组。您需要在数组上foreach
进一步进入数组:
foreach ($json['Result']['Data']['Dot'] as $i) {
echo $i['FavoriteColor'];
}