3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = ["a" => "green", "b" => "brown", "c" => "blue", 0 => "red"]; $array2 = ["a" => "GREEN", "B" => "brown", 0 => "yellow", 1 => "red", "c" => "blue"]; var_export( array_uintersect_assoc( $array1, $array2, function ($a, $b) { //var_export([$a, $b, str_contains($a, $b), (bool)str_contains($a, $b), (int)(bool)str_contains($a, $b)]); //echo "\n"; return str_contains($a, $b); } ) ); echo "\n---\n"; var_export( array_udiff_assoc( $array1, $array2, function ($a, $b) { //var_export([$a, $b, str_contains($a, $b), (bool)str_contains($a, $b), (int)(bool)str_contains($a, $b)]); //echo "\n"; return str_contains($a, $b); } ) ); echo "\n---\n"; var_export( array_uintersect_assoc( $array1, $array2, function ($a, $b) { return str_contains($a, $b) ? 0 : 1; } ) );
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array ( 'a' => 'green', 0 => 'red', ) --- array ( 'b' => 'brown', 'c' => 'blue', ) --- array ( 'c' => 'blue', )
Output for 7.4.0 - 7.4.33
Fatal error: Uncaught Error: Call to undefined function str_contains() in /in/Rt4Jq:13 Stack trace: #0 [internal function]: {closure}('green', 'GREEN') #1 /in/Rt4Jq(14): array_uintersect_assoc(Array, Array, Object(Closure)) #2 {main} thrown in /in/Rt4Jq on line 13
Process exited with code 255.

preferences:
111.54 ms | 407 KiB | 5 Q