14

私はたくさん検索しましたが、JSON 配列の長さを見つける方法はほとんど見つかりませんでした。私が試してみました:

  1. count
  2. json.length

ただし、これらは実際の長さではなく 1 を返します。PHPを使って表示したい。

私のjsonは次のとおりです。

$huge = '[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"},{"location":[{"building":["test_loc1_building1","test_loc1_building2"],"name":"test location1"},{"building":["test_loc2_building2"],"name":"test location2"}],"name":"test Organization"}]';

JSON 配列内のオブジェクトの数を確認するにはどうすればよいですか?

4

5 に答える 5

6

データを操作する前に、PHP 配列にデコードする必要があります。

試す:

$hugeArray = json_decode($huge, true); // Where variable $huge holds your JSON string.

echo count($hugeArray);

より低い深さまでカウントする必要がある場合は、配列を反復処理する必要があります。

たとえば、次の層の要素の数を数えたい場合は、次のようにします。

foreach ($hugeArray as $key => $value) {
    echo $key.' - '.count($value);
}

ただし、これは必ずしも意味があるとは限りません。これは、カウントしようとしているもの、目標が何であるかに依存するためです。このブロックは、実際の数が何を意味するかに関係なく、1 層下の要素の数のみをカウントします。

于 2013-04-08T06:26:04.127 に答える
0

最初にデコードしてjsonから、それを使用countします。

$huge='[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"},{"location":[{"building":["test_loc1_building1","test_loc1_building2"],"name":"test location1"},{"building":["test_loc2_building2"],"name":"test location2"}],"name":"test Organization"}]';
$arr = json_decode($huge,true);
echo count($arr);
于 2013-04-08T06:27:07.740 に答える