3v4l.org

run code in 300+ PHP versions simultaneously
<?php $itemList = array( array(new stdClass, new stdClass, new stdClass, new stdClass) ); function doCompare($a, $b) { echo 'A:'; var_dump($a); echo 'B:'; var_dump($b); var_dump($a === $b); return ($a === $b) ? 0 : 1; }; foreach ($itemList as $item) { echo 'Comparing: '; var_dump($item); var_dump(array_udiff($item, $item, 'doCompare')); echo "\n\n"; }
Output for git.master, git.master_jit, rfc.property-hooks
Comparing: array(4) { [0]=> object(stdClass)#1 (0) { } [1]=> object(stdClass)#2 (0) { } [2]=> object(stdClass)#3 (0) { } [3]=> object(stdClass)#4 (0) { } } A:object(stdClass)#1 (0) { } B:object(stdClass)#2 (0) { } bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#2 (0) { } bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#3 (0) { } bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#4 (0) { } bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#4 (0) { } bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#4 (0) { } bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#2 (0) { } bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#2 (0) { } bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#3 (0) { } bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#4 (0) { } bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#4 (0) { } bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#4 (0) { } bool(false) A:object(stdClass)#4 (0) { } B:object(stdClass)#4 (0) { } bool(true) A:object(stdClass)#4 (0) { } B:object(stdClass)#2 (0) { } bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#2 (0) { } bool(true) A:object(stdClass)#2 (0) { } B:object(stdClass)#3 (0) { } bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#3 (0) { } bool(true) A:object(stdClass)#3 (0) { } B:object(stdClass)#1 (0) { } bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#1 (0) { } bool(true) array(0) { }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
45.06 ms | 404 KiB | 8 Q