算法提炼是落脚点-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)

 

posted @ 2016-08-28 19:46  papering  阅读(265)  评论(0编辑  收藏  举报