计算JSON PHP中的对象数量?

时间:2016-08-27 11:27:18

标签: php json

我有一个JSON数组,我有3个JSON对象。我想计算3的对象数量,但它给了我1.如果我不添加密钥“like”,那么它可以工作。但在添加之后,它无法正常工作。

 $JSON = '{"like":['
            . '{"username":"suraj","password":"abc"},'
            . '{"username":"don","password":"abc"},'
            . '{"username":"rana","password":"abc"}'
            . ']}';


    $jsonInPHP = json_decode($JSON);
    echo count($jsonInPHP);

3 个答案:

答案 0 :(得分:2)

像这样传递第二个参数true

 $jsonInPHP = json_decode($JSON,true); 
  echo count($jsonInPHP['like']);

答案 1 :(得分:1)

你的json代表一个对象而不是一个数组。在你的对象中你有类似属性的数组,所以你需要像这样

count($jsonInPHP->like);

答案 2 :(得分:1)

这是因为在json解码你的字符串之后,你得到一个属性(like)(或带有一个带有键like的元素的数组)的对象。

您希望以两种方式计算此属性(或键)的大小:

// if $jsonInPHP is array
echo count($jsonInPHP['like']); 
// if $jsonInPHP is object
echo count($jsonInPHP->like);