如果我想构建一个数组对的数组,这些数据遵循$n => myFunction($n)
这样的模式,我想我想做这样的事情:
$myArray = array();
foreach ($n as $key) {
$new_data = array($key => myFunction($key));
array_push($myArray, $new_data);
}
但是,我听说开发人员批评了array_push()函数,所以我想知道是否有更好的方法来解决这个问题。
答案 0 :(得分:1)
本身并不错,但PHP中的函数调用相对较慢,因此如果您在代码中避免使用array_push
,则可能会注意到效果。我个人总是使用[]
符号,主要是因为我觉得它更干净,但它也更快。
$myArray[] = $new_data;
即使documentation of array_push
提到这个替代方案也更快:
注意:如果您使用
array_push()
向阵列添加一个元素,最好使用$ array [] = 因为这样就没有调用函数的开销。
但array_push
还有优势,您可以使用它将多个元素推送到数组:
array_push($myArray, 'value1', 'value2', 'value3');
所以它有它的用途,但是为了像你一样一次添加单个元素,$myArray[] = ...
的较短符号更快。