我有一个来自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循环来遍历此数组的每个元素并输出每个"[FFavoriteColor]"?我已经用一个简单的数组做过很多次了,但从来没有用多维数组。
我试过这个:
foreach ($json as $i) {
echo $i['FavoriteColor'];
}
但是我的语法是错误的。
$json
是一个只有一个项的数组Result
,另一个数组,它又只有一个项目,另一数组Data
等。Data
有多个项,其中一个是Dot
,它包含您想要的数组。您需要foreach
在阵列上进一步进入阵列:
foreach ($json['Result']['Data']['Dot'] as $i) {
echo $i['FavoriteColor'];
}