如果我想建立一个数组的数据对遵循像$n => myFunction($n)
的模式,我想我想做这样的事情:
$myArray = array();
foreach ($n as $key) {
$new_data = array($key => myFunction($key));
array_push($myArray, $new_data);
}
然而,我听到开发人员批评array_push()函数,所以我想知道是否有更好的方法来解决这个问题。
这本身并不坏,但是PHP中的函数调用相对较慢,所以如果您在代码中避免使用array_push
,您可能会注意到效果。就我个人而言,我总是使用[]
符号,主要是因为我认为它更干净,但也更快。
$myArray[] = $new_data;
甚至array_push
的文档也提到了这个替代方案,认为它更快:
注意:如果您使用
array_push()
添加一个元素到数组,最好使用$array[] =因为这样就没有调用函数的开销了。
但是array_push
也有一个优点,你可以用它把多个元素压入一个数组:
array_push($myArray, 'value1', 'value2', 'value3');
所以它有它的用途,但是对于一次添加单个元素,就像您所做的那样,$myArray[] = ...
的较短表示法更快。