在 PHP 手册中,(array_push)说..
如果您使用array_push()向数组添加一个元素,最好使用$array[] =因为这样就没有调用函数的开销。
例如 :
$arr = array();
array_push($arr, "stackoverflow");
print_r($arr);
对比
$arr[] = "stackoverflow";
print_r($arr);
我不明白为什么会有很大的不同。
在 PHP 手册中,(array_push)说..
如果您使用array_push()向数组添加一个元素,最好使用$array[] =因为这样就没有调用函数的开销。
例如 :
$arr = array();
array_push($arr, "stackoverflow");
print_r($arr);
对比
$arr[] = "stackoverflow";
print_r($arr);
我不明白为什么会有很大的不同。
当您在 PHP 中调用函数(例如array_push()
)时,调用会产生开销,因为 PHP 必须查找函数引用,找到它在内存中的位置并执行它定义的任何代码。
using$arr[] = 'some value';
不需要函数调用,并且直接将添加实现到数据结构中。因此,当添加大量数据时,使用$arr[]
.
您可以使用 array_push 一次将 1 个以上的元素添加到数组中,
例如 array_push($array_name, $element1, $element2,...)
其中 $element1, $element2,... 是要添加到数组的元素。
但是如果您想一次只添加一个元素,那么应该首选其他方法(即使用 $array_name[])。
不同之处在于下一行“因为这样没有调用函数的开销”。
array_push()
如果第一个参数不是数组,将引发警告。这与$var[]
创建新数组的行为不同。
如果可能,您应该始终使用$array[]
,因为正如框所述,函数调用没有开销。因此它比函数调用快一点。
array_push — 将一个或多个元素压入数组末尾
记下“一个或多个元素到最后”的话,使用$arr[]
你必须获得数组的最大大小
说明: 1.第一个在数组中声明变量。
2.第二个array_push方法用于推入数组变量中的字符串。
3.finally它会打印结果。
4.第二种方法是直接将字符串存入数组。
5.使用 print_r 方法将数据打印在数组值中。
这两个是一样的
两者都是相同的,但是 array_push 在它的参数中创建一个循环,该参数是一个数组并执行 $array[]=$element
我知道这是一个旧答案,但可能有助于其他人知道两者之间的另一个区别是,如果您必须在每个循环中向数组添加超过 2/3 的值,则使用起来会更快:
for($i = 0; $i < 10; $i++){
array_push($arr, $i, $i*2, $i*3, $i*4, ...)
}
代替:
for($i = 0; $i < 10; $i++){
$arr[] = $i;
$arr[] = $i*2;
$arr[] = $i*3;
$arr[] = $i*4;
...
}
编辑 - 忘记关闭for
条件括号
没有人说,但是 array_push 只将一个元素推送到数组的末尾,其中 $array[index] 可以在任何给定的索引处插入一个值。巨大差距。