算法提炼是落脚点-php数组-字符串函数
int array_unshift ( array &$array
, mixed $value1
[, mixed $...
] )
array_unshift() prepends passed elements to the front of the array
. Note that the list of elements is prepended as a whole, so that the prepended elements stay in the same order. All numerical array keys will be modified to start counting from zero while literal keys won't be touched.
<?php $queue = array('a', 'b', 'c'); array_unshift($queue, 'unshift'); w($queue); $queue = array('a', 'b', 'c'); array_unshift($queue, array('unshift','unshift_1')); w($queue); $queue = array('a', 'b', 'c','D'=>'dd'); array_unshift($queue, 'unshift'); w($queue); $queue = array('a', 'b', 'c','D'=>'dd',array('unshift','unshift_1')); array_unshift($queue, array('unshift','unshift_1')); w($queue); die();
D:\wamp64\www\w0827pm\study.php:109: array (size=4) 0 => string 'unshift' (length=7) 1 => string 'a' (length=1) 2 => string 'b' (length=1) 3 => string 'c' (length=1) D:\wamp64\www\w0827pm\study.php:109: array (size=4) 0 => array (size=2) 0 => string 'unshift' (length=7) 1 => string 'unshift_1' (length=9) 1 => string 'a' (length=1) 2 => string 'b' (length=1) 3 => string 'c' (length=1) D:\wamp64\www\w0827pm\study.php:109: array (size=5) 0 => string 'unshift' (length=7) 1 => string 'a' (length=1) 2 => string 'b' (length=1) 3 => string 'c' (length=1) 'D' => string 'dd' (length=2) D:\wamp64\www\w0827pm\study.php:109: array (size=6) 0 => array (size=2) 0 => string 'unshift' (length=7) 1 => string 'unshift_1' (length=9) 1 => string 'a' (length=1) 2 => string 'b' (length=1) 3 => string 'c' (length=1) 'D' => string 'dd' (length=2) 4 => array (size=2) 0 => string 'unshift' (length=7) 1 => string 'unshift_1' (length=9)
mixed array_shift ( array &$array
)
array_shift() shifts the first value of the array
off and returns it, shortening the array
by one element and moving everything down. All numerical array keys will be modified to start counting from zero while literal keys won't be touched.
1 $queue = array('a', 'b', 'c'); 2 array_shift($queue); 3 wb($queue); 4 $queue = array('a', 'b', 'c','D'=>'dd',array('shift','shift_1')); 5 array_shift($queue); 6 wb($queue); 7 echo '----------------------------<br>'; 8 $queue = array('a', 'b', 'c','D'=>'dd',array('shift','shift_1')); 9 w($queue[count($queue)-2]); 10 w(current($queue)); 11 w(next($queue)); 12 w(next($queue)); 13 array_shift($queue); 14 wb($queue); 15 16 function wb($w){ 17 w($w); 18 if (is_array($w)) { 19 w(current($w)); 20 } else { 21 w('! is_array(var)'); 22 } 23 }
D:\wamp64\www\w0827pm\study.php:133: array (size=2) 0 => string 'b' (length=1) 1 => string 'c' (length=1) D:\wamp64\www\w0827pm\study.php:133:string 'b' (length=1) D:\wamp64\www\w0827pm\study.php:133: array (size=4) 0 => string 'b' (length=1) 1 => string 'c' (length=1) 'D' => string 'dd' (length=2) 2 => array (size=2) 0 => string 'shift' (length=5) 1 => string 'shift_1' (length=7) D:\wamp64\www\w0827pm\study.php:133:string 'b' (length=1) ---------------------------- D:\wamp64\www\w0827pm\study.php:133: array (size=2) 0 => string 'shift' (length=5) 1 => string 'shift_1' (length=7) D:\wamp64\www\w0827pm\study.php:133:string 'a' (length=1) D:\wamp64\www\w0827pm\study.php:133:string 'b' (length=1) D:\wamp64\www\w0827pm\study.php:133:string 'c' (length=1) D:\wamp64\www\w0827pm\study.php:133: array (size=4) 0 => string 'b' (length=1) 1 => string 'c' (length=1) 'D' => string 'dd' (length=2) 2 => array (size=2) 0 => string 'shift' (length=5) 1 => string 'shift_1' (length=7) D:\wamp64\www\w0827pm\study.php:133:string 'b' (length=1)