2016-08-27 4 views
0

JSON 배열이 있고 그 안에 3 개의 JSON 개체가 있습니다. 나는 3 인 물체의 수를 계산하고 싶지만 그것은 나에게 1을주고있다. "like"키를 추가하지 않으면 작동한다. 하지만 추가 한 후에는 작동하지 않습니다.JSON PHP에서 개체 수를 계산 하시겠습니까?

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


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

'수 ($ jsonInPHP [처럼 두 번째 매개 변수 true을 통과 : 당신이이 속성 (또는 키)의 크기를 계산하려면 두 가지에서

'])'또는'count ($ jsonInPHP-> like)' –

+0

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

+0

참고 : 두 번째 매개 변수를 'true'로 설정하면이 매개 변수를 연관 배열로 만듭니다. 날 위해했던 것처럼 – Ekin

답변

1

json은 개체가 아니라 배열을 나타냅니다. 개체에서 당신은 당신이 JSON이 당신의 문자열을 디코딩 한 후 키를 하나 개의 요소로 하나 개의 속성 (like) (또는 배열로 객체를 얻을 수 있기 때문에이 문제가 발생이

count($jsonInPHP->like); 
1

처럼 오른쪽으로 필요하므로 배열입니다 재산처럼이 like).

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

당신의 두번째 옵션은 일 ,,, 않습니다 –

1

처럼 '이

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

1 일 내가 솔루션을 가지고 있지만 ,, ($ jsonInPHP->처럼) 계산 ,, 오류를 제공; –

관련 문제