-2

我在 for 循环中定义了一个数组。类似于

for($i=0;$i<5;$i++){
    $an_array = array();
}

请告知数组定义是否也会在第一次迭代后清除数组。

4

3 回答 3

1

是的,每次都会清除数组。如果您需要的话,您可以每次都创建唯一的数组。

 for($i=0;$i<5;$i++){
    $an_array[$i] = array();
 }
于 2012-10-07T22:11:27.753 回答
0

我不确定这里要问什么或您要完成什么,但循环中定义的任何变量将不再在每次迭代开始时定义。

尝试:

for($i=0;$i<5;$i++){
    var_dump($an_array);
    $an_array = array();
    array_push($an_array, $i);
    var_dump($an_array);
}
var_dump($an_array);

如果您尝试使用循环填充此数组,则需要在进入循环之前定义数组,如下所示:

 $an_array = array();
for($i=0;$i<5;$i++){
    array_push($an_array, $i);
}
var_dump($an_array);
于 2012-10-07T22:12:09.063 回答
0

是的,它确实。$arr = 数组();这使变量成为一个空数组。如果要添加定义了键的元素,最简单的方法是 $arr[]='my data'; 在 for 循环中使用上述代码并设置 $arr = array(); 上面的 for 循环。这不是必需的,但推荐。

你也可以像这样添加数据: for ($i = 0; $i < 5; ++$i){ $arr[$i] = 'my data'; }

$arr 在 for 循环后不会被清除。

于 2012-10-07T22:08:35.100 回答