Return to array_intersect_key.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test of the array_intersect_key() and array_intersect_ukey() 3: --FILE-- 4: <?php 5: $a = array(1, 6, 2, -20, 15, 1200, -2500); 6: $b = array(0, 7, 2, -20, 11, 1100, -2500); 7: $c = array(0, 6, 2, -20, 19, 1000, -2500); 8: $d = array(3, 8,-2, -20, 14, 900, -2600); 9: 10: $a_f = array_flip($a); 11: $b_f = array_flip($b); 12: $c_f = array_flip($c); 13: $d_f = array_flip($d); 14: 15: /* give nicer values */ 16: foreach ($a_f as $k=> &$a_f_el) { $a_f_el =$k*2;} 17: foreach ($b_f as $k=> &$b_f_el) { $b_f_el =$k*2;} 18: foreach ($c_f as $k=> &$c_f_el) { $c_f_el =$k*2;} 19: foreach ($d_f as $k=> &$d_f_el) { $d_f_el =$k*2;} 20: 21: var_dump(array_intersect_key($a_f, $b_f));// keys -> 2, -20, -2500 22: var_dump(array_intersect_ukey($a_f, $b_f, "comp_func"));// 2, 20, -2500 23: var_dump(array_intersect_key($a_f, $c_f));// keys -> 6, 2, -20, -2500 24: var_dump(array_intersect_ukey($a_f, $c_f, "comp_func"));// 6, 2, -20, -2500 25: var_dump(array_intersect_key($a_f, $d_f));// -20 26: var_dump(array_intersect_ukey($a_f, $d_f, "comp_func"));// -20 27: 28: var_dump(array_intersect_key($a_f, $b_f, $c_f));// 2, -20, -2500 29: var_dump(array_intersect_ukey($a_f, $b_f, $c_f, "comp_func"));// 2, -20, -2500 30: var_dump(array_intersect_key($a_f, $b_f, $d_f));// -20 31: var_dump(array_intersect_ukey($a_f, $b_f, $d_f, "comp_func"));// -20 32: 33: var_dump(array_intersect_key($a_f, $b_f, $c_f, $d_f));// -20 34: var_dump(array_intersect_ukey($a_f, $b_f, $c_f, $d_f, "comp_func"));//-20 35: 36: 37: var_dump(array_intersect_key($b_f, $c_f));// 0, 2, -20, -2500 38: var_dump(array_intersect_ukey($b_f, $c_f, "comp_func"));//0, 2, -20, 2500 39: 40: var_dump(array_intersect_key($b_f, $d_f));// -20 41: var_dump(array_intersect_ukey($b_f, $d_f, "comp_func"));// -20 42: 43: var_dump(array_intersect_key($b_f, $c_f, $d_f));// -20 44: var_dump(array_intersect_ukey($b_f, $c_f, $d_f, "comp_func"));// -20 45: 46: 47: echo "----- Now testing array_intersect() ------- \n"; 48: var_dump(array_intersect($a, $b_f)); 49: var_dump(array_uintersect($a, $b, "comp_func")); 50: var_dump(array_intersect($a, $b, $c)); 51: var_dump(array_uintersect($a, $b, $c, "comp_func")); 52: var_dump(array_intersect($a, $b, $c, $d)); 53: var_dump(array_uintersect($a, $b, $c, $d, "comp_func")); 54: 55: /////////////////////////////////////////////////////////////////////// 56: function comp_func($a, $b) { 57: if ($a === $b) return 0; 58: return ($a > $b)? 1:-1; 59: 60: } 61: ?> 62: --EXPECTF-- 63: array(3) { 64: [2]=> 65: int(4) 66: [-20]=> 67: int(-40) 68: [-2500]=> 69: &int(-5000) 70: } 71: array(3) { 72: [2]=> 73: int(4) 74: [-20]=> 75: int(-40) 76: [-2500]=> 77: &int(-5000) 78: } 79: array(4) { 80: [6]=> 81: int(12) 82: [2]=> 83: int(4) 84: [-20]=> 85: int(-40) 86: [-2500]=> 87: &int(-5000) 88: } 89: array(4) { 90: [6]=> 91: int(12) 92: [2]=> 93: int(4) 94: [-20]=> 95: int(-40) 96: [-2500]=> 97: &int(-5000) 98: } 99: array(1) { 100: [-20]=> 101: int(-40) 102: } 103: array(1) { 104: [-20]=> 105: int(-40) 106: } 107: array(3) { 108: [2]=> 109: int(4) 110: [-20]=> 111: int(-40) 112: [-2500]=> 113: &int(-5000) 114: } 115: array(3) { 116: [2]=> 117: int(4) 118: [-20]=> 119: int(-40) 120: [-2500]=> 121: &int(-5000) 122: } 123: array(1) { 124: [-20]=> 125: int(-40) 126: } 127: array(1) { 128: [-20]=> 129: int(-40) 130: } 131: array(1) { 132: [-20]=> 133: int(-40) 134: } 135: array(1) { 136: [-20]=> 137: int(-40) 138: } 139: array(4) { 140: [0]=> 141: int(0) 142: [2]=> 143: int(4) 144: [-20]=> 145: int(-40) 146: [-2500]=> 147: &int(-5000) 148: } 149: array(4) { 150: [0]=> 151: int(0) 152: [2]=> 153: int(4) 154: [-20]=> 155: int(-40) 156: [-2500]=> 157: &int(-5000) 158: } 159: array(1) { 160: [-20]=> 161: int(-40) 162: } 163: array(1) { 164: [-20]=> 165: int(-40) 166: } 167: array(1) { 168: [-20]=> 169: int(-40) 170: } 171: array(1) { 172: [-20]=> 173: int(-40) 174: } 175: ----- Now testing array_intersect() ------- 176: array(0) { 177: } 178: array(3) { 179: [2]=> 180: int(2) 181: [3]=> 182: int(-20) 183: [6]=> 184: int(-2500) 185: } 186: array(3) { 187: [2]=> 188: int(2) 189: [3]=> 190: int(-20) 191: [6]=> 192: int(-2500) 193: } 194: array(3) { 195: [2]=> 196: int(2) 197: [3]=> 198: int(-20) 199: [6]=> 200: int(-2500) 201: } 202: array(1) { 203: [3]=> 204: int(-20) 205: } 206: array(1) { 207: [3]=> 208: int(-20) 209: }