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 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
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) { } Fatal error: Uncaught Error: Undefined constant "b" in /in/iL1Zq:13 Stack trace: #0 [internal function]: doCompare(Object(stdClass), Object(stdClass)) #1 /in/iL1Zq(21): array_udiff(Array, Array, 'doCompare') #2 {main} thrown in /in/iL1Zq on line 13
Process exited with code 255.
Output for 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33
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) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#2 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#3 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#4 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#4 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#4 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#2 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#2 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#3 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#4 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#4 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#4 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#4 (0) { } B:object(stdClass)#4 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#4 (0) { } B:object(stdClass)#2 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#2 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#3 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#3 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#1 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#1 (0) { } Warning: Use of undefined constant b - assumed 'b' (this will throw an Error in a future version of PHP) in /in/iL1Zq on line 13 bool(false) array(0) { }
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20
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) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#4 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#4 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#1 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#1 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) array(0) { }
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
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)#2 (0) { } B:object(stdClass)#1 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#4 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#1 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#4 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#3 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#3 (0) { } B:object(stdClass)#1 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#1 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#1 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#2 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#2 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) A:object(stdClass)#4 (0) { } B:object(stdClass)#4 (0) { } Notice: Use of undefined constant b - assumed 'b' in /in/iL1Zq on line 13 bool(false) array(0) { }
Output for 4.4.5 - 4.4.9
Comparing: array(4) { [0]=> object(stdClass)(0) { } [1]=> object(stdClass)(0) { } [2]=> object(stdClass)(0) { } [3]=> object(stdClass)(0) { } } Fatal error: Call to undefined function: array_udiff() in /in/iL1Zq on line 21
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.4
Comparing: array(4) { [0]=> object(stdClass)(0) { } [1]=> object(stdClass)(0) { } [2]=> object(stdClass)(0) { } [3]=> object(stdClass)(0) { } } Fatal error: Call to undefined function: array_udiff() in /in/iL1Zq on line 21
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Comparing: array(4) { [0]=> object(stdClass)(0) { } [1]=> object(stdClass)(0) { } [2]=> object(stdClass)(0) { } [3]=> object(stdClass)(0) { } } Fatal error: Call to undefined function: array_udiff() in /in/iL1Zq on line 21

preferences:
181.07 ms | 402 KiB | 312 Q