PHP foreach将数组添加到foreach循环正在运行的数组的末尾

时间:2012-10-12 13:28:43

标签: arrays loops foreach

我猜我这样做完全错了,但是我想在foreach循环运行的数组末尾添加一个数组。

例如,这是开始结果

 array(3) {
   [0]=>
   array(1) {
   ["name"]=>
   string(7) "Matthew"
   }
  [1]=>
   array(1) {
   ["name"]=>
   string(3) "Jim"
   }
   [2]=>
  array(1) {
   ["name"]=>
    string(3) "Sam"
  }
}

这是使用

的代码
<?php

  $arr = array( array("name" => "Matthew"), array("name" => "Jim"), array("name" => "Sam"));

  foreach ($arr as $element) {

  $ages = array("test" => 12);

  $element['test'] = $ages;

}

?>

期望的最终结果

    array(3) {
   [0]=>
   array(1) {
   ["name"]=>
   string(7) "Matthew",
   array(1) {
   ["test"]=>
    int(2) 12
  }
   }
  [1]=>
   array(1) {
   ["name"]=>
   string(3) "Jim",
    array(1) {
   ["test"]=>
    int(2) 12
  }
   }
   [2]=>
  array(1) {
   ["name"]=>
    string(3) "Sam",
   array(1) {
   ["test"]=>
    int(2) 12
  }
  }
}

1 个答案:

答案 0 :(得分:0)

试试这个

foreach ($arr as $key=>$val) {
    $ages = array("test" => 12);
    $arr[$key]['test'] = $ages;
}

结果是

Array (
    [0] => Array
        (
            [name] => Matthew
            [test] => Array
                (
                    [test] => 12
                )
        )
    [1] => Array
        (
            [name] => Jim
            [test] => Array
                (
                    [test] => 12
                )
        )
    [2] => Array
        (
            [name] => Sam
            [test] => Array
                (
                    [test] => 12
                )
        ) )