Return to array_shift_variation4.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_shift() function : usage variations - multi-dimensional arrays 3: --FILE-- 4: <?php 5: /* Prototype : mixed array_shift(array &$stack) 6: * Description: Pops an element off the beginning of the array 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Test popping elements from a sub-array and popping an array from an array 12: */ 13: 14: echo "*** Testing array_shift() : usage variations ***\n"; 15: 16: $stack_first = array(array(1, 2, 3), 'one', 'two'); 17: $stack_last = array ('zero', 'one', array (1, 2, 3)); 18: echo "\n-- Before shift: --\n"; 19: echo "---- \$stack_first:\n"; 20: var_dump($stack_first); 21: echo "---- \$stack_last:\n"; 22: var_dump($stack_last); 23: 24: echo "\n-- After shift: --\n"; 25: echo "---- Pop array from array:\n"; 26: echo "Returned value:\t"; 27: var_dump(array_shift($stack_first)); 28: echo "New array:\n"; 29: var_dump($stack_first); 30: 31: echo "---- Pop element from array within array:\n"; 32: echo "Returned value:\t"; 33: var_dump(array_shift($stack_last[2])); 34: echo "New array:\n"; 35: var_dump($stack_last); 36: 37: echo "Done"; 38: ?> 39: --EXPECTF-- 40: *** Testing array_shift() : usage variations *** 41: 42: -- Before shift: -- 43: ---- $stack_first: 44: array(3) { 45: [0]=> 46: array(3) { 47: [0]=> 48: int(1) 49: [1]=> 50: int(2) 51: [2]=> 52: int(3) 53: } 54: [1]=> 55: string(3) "one" 56: [2]=> 57: string(3) "two" 58: } 59: ---- $stack_last: 60: array(3) { 61: [0]=> 62: string(4) "zero" 63: [1]=> 64: string(3) "one" 65: [2]=> 66: array(3) { 67: [0]=> 68: int(1) 69: [1]=> 70: int(2) 71: [2]=> 72: int(3) 73: } 74: } 75: 76: -- After shift: -- 77: ---- Pop array from array: 78: Returned value: array(3) { 79: [0]=> 80: int(1) 81: [1]=> 82: int(2) 83: [2]=> 84: int(3) 85: } 86: New array: 87: array(2) { 88: [0]=> 89: string(3) "one" 90: [1]=> 91: string(3) "two" 92: } 93: ---- Pop element from array within array: 94: Returned value: int(1) 95: New array: 96: array(3) { 97: [0]=> 98: string(4) "zero" 99: [1]=> 100: string(3) "one" 101: [2]=> 102: array(2) { 103: [0]=> 104: int(2) 105: [1]=> 106: int(3) 107: } 108: } 109: Done