当前位置: 首页 > 面试题库 >

如何在PHP中访问JSON解码数组

宦炜
2023-03-14
问题内容

我返回数组JSON数据类型从javascriptPHP,我曾经json_decode($data, true)将其转换为一个关联数组,但是当我尝试使用关联使用它index,我得到的错误"Undefined index"返回的数据看起来像这样

array(14) { [0]=> array(4) { ["id"]=> string(3) "597" ["c_name"]=> string(4) "John" ["next_of_kin"]=> string(10) "5874594793" ["seat_no"]=> string(1) "4" } 
[1]=> array(4) { ["id"]=> string(3) "599" ["c_name"]=> string(6) "George" ["next_of_kin"]=> string(7) "6544539" ["seat_no"]=> string(1) "2" } 
[2]=> array(4) { ["id"]=> string(3) "601" ["c_name"]=> string(5) "Emeka" ["next_of_kin"]=> string(10) "5457394839" ["seat_no"]=> string(1) "9" } 
[3]=> array(4) { ["id"]=> string(3) "603" ["c_name"]=> string(8) "Chijioke" ["next_of_kin"]=> string(9) "653487309" ["seat_no"]=> string(1) "1" }

请,我如何访问这样的数组PHP?感谢您的任何建议。


问题答案:

在上面的示例中,将您true作为第二个参数传递给json_decode您时,您可以执行类似以下操作来检索数据:

$myArray = json_decode($data, true);
echo $myArray[0]['id']; // Fetches the first ID
echo $myArray[0]['c_name']; // Fetches the first c_name
// ...
echo $myArray[2]['id']; // Fetches the third ID
// etc..

如果您不将其true作为第二个参数传递json_decode,则将其作为对象返回:

echo $myArray[0]->id;


 类似资料:
  • 问题内容: json_decode函数不是PHP 5.1的一部分,所以我不能使用它。此版本还有其他功能吗? 问题答案: 在PHP 5.2之前,您可以使用JSON PECL扩展名。 实际上,它是已集成到PHP 5.2 _( 引用 )中_的扩展: 从PHP 5.2.0开始,JSON扩展默认捆绑并编译为PHP。 其他一些解决方案是使用PHP开发的某些组件。 前一段时间(大约一年前),我使用Zend Fr

  • 问题内容: 我有以下json字符串,我只想从中检索电子邮件地址。我如何在php中做到这一点? 问题答案: 另一种错误的做法是像这样访问它:

  • 问题内容: 我有一个看起来像这样的JSON字符串: 什么是解码此和地点PHP ,,,,和到会话变量? 到目前为止,我已经尝试过了,但是没有用: 谢谢! 问题答案: 是您了解JSON结构的朋友。 结果是:

  • 问题内容: 我有需要解码的JSON产品清单: 在使用PHP将其解码后,我不知道输出是哪种结构。我以为它是一个数组,但是在我要求它后说它是“ 0”。如何遍历这些数据,以便获得列表中每个产品的属性。 谢谢! 问题答案: 要将json转换为数组,请使用

  • 通过触发这个Webhook,我收到一个订单对象,当我在电子邮件中输出它时,它如下所示: 数组{“id”:1154,“parent_id”:0,“status”:“pending”,“currency”:“eur”,“version”:“3.2.3”,“prices_include_tax”:true,“date_created”:{“date”:“2017-12-15 15:58:42.00000

  • 问题内容: 我有以下JSON对象: 这是来自一个请求,我有成功。 问题是,即使dataJS在控制台中正确显示,我也无法访问JSON对象中的项目。有想法吗? 问题答案: 那是因为您的基础对象也是数组。 我怀疑那会有用