3v4l.org

run code in 300+ PHP versions simultaneously
<?php $A = [3,45,67,8]; $B = [ 1 => [1,6,8], 2 => [5,67,3,4,5,66,6], 3 => [55,56,57,58], 4 => [45,80,81,82] ]; $result = []; foreach ($A as $needle) { if ($found = array_keys($B, $needle)) { // something qualified echo "Found: "; var_export($found); $result = array_merge($result, $found); // store the new key(s) $B = array_intersect_key($B, $found); // reduce the haystack } echo "Needle: $needle\n"; var_export($B); echo "\n--\n"; var_export($result); echo "\n----\n"; }
Output for 5.6.38, 7.1.0 - 7.1.23, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 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
Needle: 3 array ( 1 => array ( 0 => 1, 1 => 6, 2 => 8, ), 2 => array ( 0 => 5, 1 => 67, 2 => 3, 3 => 4, 4 => 5, 5 => 66, 6 => 6, ), 3 => array ( 0 => 55, 1 => 56, 2 => 57, 3 => 58, ), 4 => array ( 0 => 45, 1 => 80, 2 => 81, 3 => 82, ), ) -- array ( ) ---- Needle: 45 array ( 1 => array ( 0 => 1, 1 => 6, 2 => 8, ), 2 => array ( 0 => 5, 1 => 67, 2 => 3, 3 => 4, 4 => 5, 5 => 66, 6 => 6, ), 3 => array ( 0 => 55, 1 => 56, 2 => 57, 3 => 58, ), 4 => array ( 0 => 45, 1 => 80, 2 => 81, 3 => 82, ), ) -- array ( ) ---- Needle: 67 array ( 1 => array ( 0 => 1, 1 => 6, 2 => 8, ), 2 => array ( 0 => 5, 1 => 67, 2 => 3, 3 => 4, 4 => 5, 5 => 66, 6 => 6, ), 3 => array ( 0 => 55, 1 => 56, 2 => 57, 3 => 58, ), 4 => array ( 0 => 45, 1 => 80, 2 => 81, 3 => 82, ), ) -- array ( ) ---- Needle: 8 array ( 1 => array ( 0 => 1, 1 => 6, 2 => 8, ), 2 => array ( 0 => 5, 1 => 67, 2 => 3, 3 => 4, 4 => 5, 5 => 66, 6 => 6, ), 3 => array ( 0 => 55, 1 => 56, 2 => 57, 3 => 58, ), 4 => array ( 0 => 45, 1 => 80, 2 => 81, 3 => 82, ), ) -- array ( ) ----
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 Needle: 3 array ( 1 => array ( 0 => 1, 1 => 6, 2 => 8, ), 2 => array ( 0 => 5, 1 => 67, 2 => 3, 3 => 4, 4 => 5, 5 => 66, 6 => 6, ), 3 => array ( 0 => 55, 1 => 56, 2 => 57, 3 => 58, ), 4 => array ( 0 => 45, 1 => 80, 2 => 81, 3 => 82, ), ) -- array ( ) ---- Needle: 45 array ( 1 => array ( 0 => 1, 1 => 6, 2 => 8, ), 2 => array ( 0 => 5, 1 => 67, 2 => 3, 3 => 4, 4 => 5, 5 => 66, 6 => 6, ), 3 => array ( 0 => 55, 1 => 56, 2 => 57, 3 => 58, ), 4 => array ( 0 => 45, 1 => 80, 2 => 81, 3 => 82, ), ) -- array ( ) ---- Needle: 67 array ( 1 => array ( 0 => 1, 1 => 6, 2 => 8, ), 2 => array ( 0 => 5, 1 => 67, 2 => 3, 3 => 4, 4 => 5, 5 => 66, 6 => 6, ), 3 => array ( 0 => 55, 1 => 56, 2 => 57, 3 => 58, ), 4 => array ( 0 => 45, 1 => 80, 2 => 81, 3 => 82, ), ) -- array ( ) ---- Needle: 8 array ( 1 => array ( 0 => 1, 1 => 6, 2 => 8, ), 2 => array ( 0 => 5, 1 => 67, 2 => 3, 3 => 4, 4 => 5, 5 => 66, 6 => 6, ), 3 => array ( 0 => 55, 1 => 56, 2 => 57, 3 => 58, ), 4 => array ( 0 => 45, 1 => 80, 2 => 81, 3 => 82, ), ) -- array ( ) ----

preferences:
131.86 ms | 405 KiB | 173 Q