Return to array_diff_variation7.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_diff() function : usage variations - arrays containing referenced variables 3: --FILE-- 4: <?php 5: /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...]) 6: * Description: Returns the entries of $arr1 that have values which are not 7: * present in any of the others arguments. 8: * Source code: ext/standard/array.c 9: */ 10: 11: /* 12: * Test how array_diff compares arrays that 13: * 1. Contain referenced variables 14: * 2. Have been referenced to each other 15: */ 16: 17: echo "*** Testing array_diff() : usage variations ***\n"; 18: $a = 'a'; 19: 20: $arr1 = array ("&$a", 'b', 'c'); 21: $arr2 = array (1, 2, 3); 22: echo "-- Basic Comparison --\n"; 23: var_dump(array_diff($arr1, $arr2)); 24: var_dump(array_diff($arr2, $arr1)); 25: 26: $a = 1; 27: 28: echo "-- \$a changed --\n"; 29: var_dump(array_diff($arr1, $arr2)); 30: var_dump(array_diff($arr2, $arr1)); 31: 32: 33: $arr2 = &$arr1; 34: echo "-- Arrays referenced to each other --\n"; 35: var_dump(array_diff($arr1, $arr2)); 36: var_dump(array_diff($arr2, $arr1)); 37: 38: 39: $arr1 = array('x', 'y', 'z'); 40: echo "-- \$arr1 changed --\n"; 41: var_dump(array_diff($arr1, $arr2)); 42: var_dump(array_diff($arr2, $arr1)); 43: 44: 45: echo "Done"; 46: ?> 47: 48: --EXPECTF-- 49: 50: *** Testing array_diff() : usage variations *** 51: -- Basic Comparison -- 52: array(3) { 53: [0]=> 54: string(2) "&a" 55: [1]=> 56: string(1) "b" 57: [2]=> 58: string(1) "c" 59: } 60: array(3) { 61: [0]=> 62: int(1) 63: [1]=> 64: int(2) 65: [2]=> 66: int(3) 67: } 68: -- $a changed -- 69: array(3) { 70: [0]=> 71: string(2) "&a" 72: [1]=> 73: string(1) "b" 74: [2]=> 75: string(1) "c" 76: } 77: array(3) { 78: [0]=> 79: int(1) 80: [1]=> 81: int(2) 82: [2]=> 83: int(3) 84: } 85: -- Arrays referenced to each other -- 86: array(0) { 87: } 88: array(0) { 89: } 90: -- $arr1 changed -- 91: array(0) { 92: } 93: array(0) { 94: } 95: Done