我正在尝试计算我在php中使用json_decode
从JSON转换的数组的长度,但由于某种原因它无法正常工作。这是我目前的代码。 JSON列表包含一个包含10,000个项目的数组。我很确定我错过了一些东西。任何帮助将不胜感激。
PHP
<?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."
}
]
}
答案 0 :(得分:1)
答案实际上是在回答另一个类似的问题。
PHP not converting JSON using '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
将提供正确的数组长度。如果我的解释中有任何错误或改进,请将其放在评论中,我会相应更正。