如何在PHP中将for循环的输出合并为单个数组或JSON文件


How do I merge the output of a for loop into a single array or JSON file in PHP?

我试图按位置获取照片的计数,但当我在各个位置循环时,输出会显示为单独的数组。我希望所有这些都作为一个单独的数组出现,然后转换为JSON。

 <?php
    $gURL= "URL";
    $pullstring = file_get_contents($gURL);
    $jsonish = json_decode($pullstring, TRUE);
    $feature= $jsonish['features'];
    $arrlength = count($feature);
    for($x = 0; $x < 10; $x++)
    {
        $Inames= str_replace(" ", "+", $feature[$x]['properties']['name']);
        $lats= $feature[$x]['geometry']['coordinates'][1];
        $longs= $feature[$x]['geometry']['coordinates'][0];
        $ID= $feature[$x]['properties']['osm_id'];
        $numba='XXXXXXXXXXXX';  
        $instagram_URL = 'https://api.instagram.com/v1/media/search?lat='.$lats.'&lng='.$longs.'&distance=10&client_id='.$numba;
        $instagram_json = file_get_contents($instagram_URL);
        $instagram_array = json_decode($instagram_json, TRUE);
        $instagram_var= array('ID'=>$ID,'name'=>$Inames,'photos'=>count($instagram_array['data']));
        //print_r ($instagram_var);
    };
    ?>

输出:

  Array (
[ID] => 1
[name] => 1905
[photos] => 15
) Array (
[ID] => 2
[name] => 15+ria
[photos] => 19
) Array (
[ID] => 3
[name] => 18th+Amendment
[photos] => 19
) Array (
[ID] => 4
[name] => 1920dc
[photos] => 15
) Array (
[ID] => 5
[name] => 19th
[photos] => 19
) Array (
[ID] => 6
[name] => 2+Birds+1+Stone
[photos] => 6
) Array (
[ID] => 7
[name] => 201+Bar
[photos] => 7
) Array (
[ID] => 8
[name] => 30+Degrees+Lounge
[photos] => 19
) Array (
[ID] => 9
[name] => 51st+State
[photos] => 7
) Array (
[ID] => 10
[name] => 8+x+10+Club
[photos] => 19
)

使$instagram_var成为二维数组。

$instagram_var = Array();
for ($...) { // your loop
     /* ... */
     $instagram_var[] = array('ID'=>$ID,'name'=>$Inames,'photos'=>count($instagram_array['data']));
}

之后,您可以使用$instagram_var[0]$instagram_var[1]。。。以及与CCD_ 4等的内部值。