ArrayObject_exchange_array_during_sorting.phpt [plain text]
--TEST--
Can't use exchangeArray() while ArrayObject is being sorted
--FILE--
<?php
$ao = new ArrayObject([1, 2, 3]);
$i = 0;
$ao->uasort(function($a, $b) use ($ao, &$i) {
if ($i++ == 0) {
$ao->exchangeArray([4, 5, 6]);
var_dump($ao);
}
return $a <=> $b;
});
?>
--EXPECTF--
Warning: Modification of ArrayObject during sorting is prohibited in %s on line %d
object(ArrayObject)#1 (1) {
["storage":"ArrayObject":private]=>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
}