3v4l.org

run code in 300+ PHP versions simultaneously
<?php $desc = '{"a":1, "b":2}'; $ob = '{"a":1, "b":2, "c":3}'; function isLikeThis(string $description, string $tested) { $args = func_get_args(); $assocArrayArgs = array_map(function($arg){ get_object_vars(json_decode($arg)); }, $args ); var_dump($args); return !(bool)call_user_func_array('array_diff_assoc', $args); } var_dump(isLikeThis($desc, $ob));
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.4, 8.3.6
array(2) { [0]=> string(14) "{"a":1, "b":2}" [1]=> string(21) "{"a":1, "b":2, "c":3}" } Fatal error: Uncaught TypeError: array_diff_assoc(): Argument #1 ($array) must be of type array, string given in /in/6i6Yg:13 Stack trace: #0 /in/6i6Yg(13): array_diff_assoc('{"a":1, "b":2}', '{"a":1, "b":2, ...') #1 /in/6i6Yg(15): isLikeThis('{"a":1, "b":2}', '{"a":1, "b":2, ...') #2 {main} thrown in /in/6i6Yg on line 13
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 array(2) { [0]=> string(14) "{"a":1, "b":2}" [1]=> string(21) "{"a":1, "b":2, "c":3}" } Fatal error: Uncaught TypeError: array_diff_assoc(): Argument #1 ($array) must be of type array, string given in /in/6i6Yg:13 Stack trace: #0 /in/6i6Yg(13): array_diff_assoc('{"a":1, "b":2}', '{"a":1, "b":2, ...') #1 /in/6i6Yg(15): isLikeThis('{"a":1, "b":2}', '{"a":1, "b":2, ...') #2 {main} thrown in /in/6i6Yg on line 13
Process exited with code 255.
Output for 7.3.16 - 7.3.33, 7.4.0 - 7.4.33
array(2) { [0]=> string(14) "{"a":1, "b":2}" [1]=> string(21) "{"a":1, "b":2, "c":3}" } Warning: array_diff_assoc(): Expected parameter 1 to be an array, string given in /in/6i6Yg on line 13 bool(true)
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33
array(2) { [0]=> string(14) "{"a":1, "b":2}" [1]=> string(21) "{"a":1, "b":2, "c":3}" } Warning: array_diff_assoc(): Argument #1 is not an array in /in/6i6Yg on line 13 bool(true)
Output for 5.6.0 - 5.6.25
Catchable fatal error: Argument 1 passed to isLikeThis() must be an instance of string, string given, called in /in/6i6Yg on line 15 and defined in /in/6i6Yg on line 5
Process exited with code 255.

preferences:
156.09 ms | 401 KiB | 187 Q