array_push、array_pop (相当于是堆栈)
、array_shift和array_unshift区别(相当于是队列)
array_push(array,value1,..,) 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。
注释:即使数组中有字符串键名,新添加的元素也始终是数字键
例如:
<?php
$a = array("Dog","Cat");
$b = (array_push($a,"Horse","Bird"));
echo $b.'</br>';
print_r($a);
?>
结果:b=4,数组的新长度;
$a的内容: Array
(
[0] => Dog
[1] => Cat
[2] => Horse
[3] => Bird
)
array_pop() 函数删除数组中的最后一个元素。且反回删除的元素。
<?php
$a=array("Dog","Cat","Horse");
$b=array_pop($a);
echo $b.'</br>';
print_r($a);
?>
结果:Horse//$b 为array_pop()删除最后一个元素返回的最后一个元素
Array
(
[0] => Dog
[1] => Cat
) //删除最后一个元素的$a;
array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值。注释:如果键是数字的,所有元素都将获得新的键,从 0 开始,并以 1 递增。
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_shift($a).'</br>';
print_r ($a);
?>
结果:
Dog//删除的第一个函数的值 返回
Array
(
[b] => Cat
[c] => Horse
)//删除第一个元素后的新数组
array_unshift() 函数在数组开头插入一个或多个元素。 被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。
该函数会返回数组中元素的个数。 注释:所有的数值键名将修改为从零开始重新计数,所有的字符串键名保持不变。
<?php
$a=array("a"=>"Cat","b"=>"Dog");
print_r(array_unshift($a,"Horse"));
echo'</br>';
print_r($a);
?>
结果:3//返回数组中元素的个数。
Array ( [0] => Horse [a] => Cat [b] => Dog )//在的开头插入元素后的新数组
总结:push()和pop()是在数组尾部进行插入或删除;shift()和unshift()是在数组开头进行删除和插入;删除函数都会返回被删除的元素,插入函数都会返回执行插入函数后的新数组的元素个数。