PHP从循环生成Array()?

kr1*_*zmo 9 php arrays while-loop

我刚写了这个,这是将数组添加到预先存在的数组的最有效方法.


$c=4;
$i=1;
$myarray = array();

while($i <= $c):
    array_push($myarray, array('key' => 'value'));
    $i++;
endwhile;

echo '<pre><code>';
var_dump($myarray);
echo '</code></pre>';
Run Code Online (Sandbox Code Playgroud)

更新:如何在不创建新阵列的情况下推送键和值.
所以这array_push($myarray,'key' => 'value');
不是这个array_push($myarray, array('key' => 'value'));

mar*_*kus 18

您的代码有几个可以改进的地方:

魔术数字

分配像4和1这样的幻数是一种不好的做法,而是使用常量.对于这个例子,它当然是矫枉过正,但对于知道和使用仍然很重要.

缺少牙箍

始终使用花括号,它使代码更具可读性.

错误使用while循环

这不是while循环的情况,如果你想循环一定次数,总是使用for循环!

无需使用array_push

您不需要数组推送来向数组添加元素,您可以并且应该使用速记函数.

结果:

define('START', 1);
define('END', 4);

$myArray = array();


for ($i = START; $i < END; $i++)
{
    $myArray[] = array('item' => '1 items');
}
Run Code Online (Sandbox Code Playgroud)


Pri*_*ner 5

我个人会看一下您的代码:

$myarray = array();
for($i=0;$i<4;$i++){
  $myarray[] = array('item' => '1 items');
}      
Run Code Online (Sandbox Code Playgroud)

根据这个,array_push比少一点效率$myarray[]