JSON数组到PHP,按索引循环

JSON数组到PHP,按索引循环,php,arrays,json,Php,Arrays,Json,感谢您抽出时间: 首先,我有以下Json字符串 $jsonarr = '["somestring1", "somestring2","somestring3"]' 我想把它转换成PHP数组 $decodedjson = json_decode($jsonarr,TRUE); 然后遍历数组的所有成员,例如: for ($i=0;$i<3;$i++) { echo $decodedjson[$i]; } 对于($i=0;$i我看到的唯一错误是第一行缺少分号。您可以得到如下长度:

感谢您抽出时间:

首先,我有以下Json字符串

$jsonarr = '["somestring1", "somestring2","somestring3"]'
我想把它转换成PHP数组

$decodedjson = json_decode($jsonarr,TRUE);
然后遍历数组的所有成员,例如:

for ($i=0;$i<3;$i++)
{
    echo $decodedjson[$i];
}

对于($i=0;$i我看到的唯一错误是第一行缺少分号。您可以得到如下长度:

count($decodedjson);

是的,您可以通过
count()
函数获得数组长度,如下所示:

$jsonarr = '["somestring1", "somestring2","somestring3"]' ;
$decodedjson = json_decode($jsonarr);

for ($i=0;$i < count($decodedjson);$i++) 
{
    echo $decodedjson[$i] . '<br>';
}
$jsonarr='[“somestring1”、“somestring2”、“somestring3”];
$decodedjson=json_decode($jsonarr);
对于($i=0;$i;
}

如果json_decode()返回的数组有效,则为是。您只需调用:

 count($decodedjson);
但首先,尝试对$decodedjson进行var_转储。您将看到它是如何解码的。如果它等于null,则json_decode()调用失败。您可以使用json_last_error()获取错误代码(错误代码列表:)

如果您想更快地遍历数组而不知道其长度,那么只需使用foreach而不是for循环


是的,就像Akshay说的,分享你得到的错误。祝你好运。

一如既往,你可以使用
foreach
遍历对象/数组:

foreach ($decodedjson as $key => $value) {
    echo $key . ' => ' .$value;
}

你可以分享错误信息吗?你可以通过
count($decodedjson)
获得长度,就像任何其他数组一样。
var\u dump($decodedjson)
查看它包含的内容。我尝试了你的代码,在第一次赋值中添加分号后效果很好。你需要发布错误。PHP<5.2没有
json\u decode()
,在运行PHP 5.1的共享主机或Red Hat 5系统上,这是一种常见的情况。