php数组可以用栈的角度来操作,这其中包含了如下函数,array_pop(),array_push,array_shift(),array_unshift()。
array_pop()函数
将数组的最后一个元素移出,也就是出栈;
函数的参数只有一个就是欲操作的数组,这里是引用传值,会改变欲操作的数组;
函数返回出栈那个元素。
1 $arr = [1, 2, 3, 4];2 array_pop( $arr);3 var_dump( $arr);4 //array(3) {5 // [0] =>6 // int(1)7 // [1] =>8 // int(2)9 // [2] =>10 // int(3)11 // }
array_push()函数
与array_pop函数执行相反的操作,从数组的末尾添加一个或多个元素,也就是入栈;
1 array_push ( array &$array , mixed $value1 [, mixed $... ] ) : int
函数参数第一个是目标数组(引用传值),接下来就是欲要入栈的值;
函数返回入栈数组的个数。
1 $arr = [1, 2, 3, 4];2 var_dump( array_push( $arr, 5, 6) );3 var_dump( $arr);4 //int(6)5 // array(6) {6 // [0] =>7 // int(1)8 // [1] =>9 // int(2)10 // [2] =>11 // int(3)12 // [3] =>13 // int(4)14 // [4] =>15 // int(5)16 // [5] =>17 // int(6)18 // }
array_shift()函数
移出数组的第一个元素,数组的数字键都会从零开始重新计数,非数字键不会;
函数的参数只有一个,就是与操作的数组,引用传值。
函数会返回移出的那个元素,如果没有就是null。
1 $arr = [1, 2, 3, 4];2 var_dump( array_shift( $arr) );3 var_dump( $arr);4 //int(1)5 // array(3) {6 // [0] =>7 // int(2)8 // [1] =>9 // int(3)10 // [2] =>11 // int(4)12 // }
array_unshift()函数
从数组的开头插入一个或多个值(传值的顺序就是数组中新插入元素的顺序);
1 array_unshift ( array &$array [, mixed $... ] ) : int
插完后,数组的数字键都会从零开始重新计数,非数字键不会;
函数会返回插入完成后数组的新长度。
1 $arr = [1, 2, 3, 4];2 var_dump( array_unshift( $arr, -2, -1, 0) );3 var_dump( $arr);4 //int(7)5 // array(7) {6 // [0] =>7 // int(-2)8 // [1] =>9 // int(-1)10 // [2] =>11 // int(0)12 // [3] =>13 // int(1)14 // [4] =>15 // int(2)16 // [5] =>17 // int(3)18 // [6] =>19 // int(4)20 // }
原文链接:https://www.cnblogs.com/zxcv123/p/11728586.html