PHP:如何访问关联数组并解决“数组到字符串转换通知”?

时间:2015-06-25 06:47:21

标签: php arrays json mysqli associative-array

编辑:由于有关解码JSON数据的评论,我发现了我的错误。

我是PHP的新手,无法找到合适的方法来访问关联数组。

我有这个JSON数据:

[{"Id":"1"},{"Id":"2"},{"Id":"3"},{"Id":"4"},{"Id":"5"},{"Id":"6"},{"Id":"7"},{"Id":"8"}]

我需要在我的PHP代码中触发另一个MySQLi查询,这需要1,2,3 ...来自上面的数据。

在此站点上实现各种解决方案会导致数组到字符串转换错误。 请帮忙。

2 个答案:

答案 0 :(得分:1)

您只需使用array_column amd implode作为

$json = '[{"Id":"1"},{"Id":"2"},{"Id":"3"},{"Id":"4"},{"Id":"5"},{"Id":"6"},{"Id":"7"},{"Id":"8"}]';
$data = implode(',',array_column(json_decode($json,true),'Id'));
echo $data;//1,2,3,4,5,6,7,8

<强>解释

  1. json_decode($json,true)会将您的json字符串转换为数组
  2. array_column(json_decode($json,true),'Id')将返回数组的单个列中的值,由 column_key 标识,即此处Id
  3. implodeJoin数组元素带有胶水字符串,即,

答案 1 :(得分:0)

将json数据转换为关联数组:

<?php
$json = '[{"Id":"1"},{"Id":"2"},{"Id":"3"},{"Id":"4"},{"Id":"5"},{"Id":"6"},{"Id":"7"},{"Id":"8"}]';
$data = json_decode($json,true);
echo "<pre>";
print_r($data);
echo "<pre>";
?>