首页 > 解决方案 > Foreach 在 php 中调用 API 的结果

问题描述

我通过 API 进行了 GET 调用,并收到了最初看起来像这样的数据:

{"@odata.context":"API-URL-CALL","value":[{"Id":1,"Name":Bill"},{"Id":2,"Name":Ted"}]

我获取了这些数据并将其更改为如下所示:

array("Id"=>1,"Name"=>"Bill","Id"=>2,"Name"=>"Ted");

我想要做的就是把这一切都回显出来,但到目前为止,我只能打印出第二个 Id 和 Name。

我的代码如下:

<?php
$my_array = array("Id"=>1,"Name"=>"Bill","Id"=>2,"Name"=>"Ted");

foreach($my_array as $key => $value)
{
echo 
"
$key = $value <br>
";
}
?>

如上所述,这只会打印出来:

Id = 2
Name = Ted

我觉得这是一个简单的修复方法,我查看了很多帖子,但似乎找不到合适的修复方法。我尝试过诸如:

$key = $value[0] <br>

$key = $value[0][Id] <br>

foreach($my_array as $arr)
echo 
"
id = $arr[Id], <br>
name = $arr[Name]
"

foreach($my_array as $arr)
echo 
"
id = $arr[0][Id], <br>
name = $arr[0][Name]
"

所有这些让我印象深刻的都是一个角色,或者什么都不是。就像我之前说的,我觉得这是一个简单的修复,我忽略了一些东西还是没有添加一些东西?任何帮助或建议,甚至是另一个帖子的链接都将不胜感激。谢谢你的时间:^D

标签: phpapiloopsforeach

解决方案


您必须在索引名称周围加上引号。

foreach($my_array as $arr)
  echo '
id = '.$arr['Id'].', <br>
name = '.$arr['Name'].'
  ';

推荐阅读