在for循环的每次迭代中都会覆盖数组

时间:2016-07-20 13:08:53

标签: php

如何在info数组中存储更改变量($ i,$ j),以便它包含所有值而不仅仅是最后一个?

<?php
    for($i=0,$j=0;$i<3;$i++,$j++){
        $members=array($i,$j);
        $info=array();
        foreach ($members as $k) { 
            $info[]=$k;
        }
    }    
    print_r($info);
?>

2 个答案:

答案 0 :(得分:1)

只需将数组变量$info放在循环外部,它就会在每次迭代中被覆盖。

<?php
$info=array();
for($i=0,$j=0;$i<3;$i++,$j++){
$members=array($i,$j);

foreach ($members as $k) { 
    $info[]=$k;
}
}
print_r($info);
?>

检查您的输出:https://eval.in/608707

我不知道你的目的,但你也可以通过多种方式实现目标

  1. https://eval.in/608744

  2. https://eval.in/608721

答案 1 :(得分:0)

这也可以完成

<?php
    $info=array();
    for($i=0,$j=0;$i<3;$i++,$j++){
    $info=array_merge($info,array(array($i,$j)));

    }
    print_r($info);
    ?>