Return to bug28739.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Bug #28739 (*diff() and *intersect() not clearing the fci cache before work) 3: --FILE-- 4: <?php 5: class p { 6: public $x; 7: function __construct($x){$this->x=$x;} 8: } 9: function a(&$a, &$b){var_dump(__FUNCTION__);return $a->x - $b->x;} 10: function b(&$a, &$b){var_dump(__FUNCTION__);return $a->x - $b->x;} 11: 12: $p1 = array(new p(2), new p(1), new p(0)); 13: $p2 = array(new p(0), new p(2), new p(3)); 14: 15: uasort($p1, 'a'); 16: print_r($p1); 17: echo "Now diffing:\n"; 18: print_r(array_udiff($p1,$p2, 'b')); 19: ?> 20: --EXPECT-- 21: string(1) "a" 22: string(1) "a" 23: Array 24: ( 25: [2] => p Object 26: ( 27: [x] => 0 28: ) 29: 30: [1] => p Object 31: ( 32: [x] => 1 33: ) 34: 35: [0] => p Object 36: ( 37: [x] => 2 38: ) 39: 40: ) 41: Now diffing: 42: string(1) "b" 43: string(1) "b" 44: string(1) "b" 45: string(1) "b" 46: string(1) "b" 47: string(1) "b" 48: string(1) "b" 49: string(1) "b" 50: string(1) "b" 51: Array 52: ( 53: [1] => p Object 54: ( 55: [x] => 1 56: ) 57: 58: )