我正试图计算我使用php中的json_decode
从JSON转换的数组的长度,但由于某种原因它不起作用。这是我现在的代码。JSON列表包含一个包含10,000个项目的数组。我很确定我错过了什么。如有任何帮助,我将不胜感激。
<?php
$fl = file_get_contents($somepath);
$text = json_decode($fl, true);
$len = count($text["alphalist"]);
echo $len;
?>
JSON {
"alphalist": [{
"a": "alphabet1."
}, {
"b": "alphabet2."
}, {
"c": "alphabet3."
}, {
"d": "alphabet4."
}, {
"e": "alphabet5."
}
....
{
"zzzzz": "alphabet10000."
}
]
}
答案实际上是在这里回答另一个类似的问题。
PHP不使用'json_decode()'
因此,在与用户D4V1D进行了一些测试之后,事实证明问题是由于PHP函数json_decode
不工作,因为它不是UTF-8格式。解决这个问题的方法是
$fl = file_get_contents($somepath);
$text = json_decode(utf8_encode($fl), true);
$len = count($text["alphalist"]);
现在$len
将给出正确的数组长度。如果我的解释中有任何错误或需要改进的地方,请在评论中注明,我将相应修改。