PHP中的for循环和数组:只在最后一次迭代时添加元素


for loop and array in PHP: add element only at last interation

我有一个空数组($report),我想创建一个多维数组的元素"$array"问题是仅为index = 2(最后一次交互)添加元素。为什么?

<?php
 $array= array("3,4","5,6","7,8");
 $report= array();
 for($i=0, $n= count($array); $i< $n; $i++){
      $lat= substr($array[$i],0,1);
      $lng= substr($array[$i],2,1);  
      $report= array(array($lat,$lng));
  }
  echo "<pre>";  print_r($report);
   ?>

$report= array(array($lat,$lng));行中,您在循环的每一次传递中都重新构建数组。要向数组中添加新项,将其重写为

$report[]= array(array($lat,$lng));

每次迭代都要替换$report的值。使用以下语法向数组追加:

$report[] = array(array($lat,$lng));

[]将值附加到数组末尾