3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 'vehicle info' => [ 'one' => [ 'submodel' => 'LX', 'engine' => 2.3 ], 'two' => [ 'color' => 'blue', 'year' => 2007, 'wheels' => 4 ], 'three' => [ 'submodel' => 'LX', 'make' => 'Ford', 'model' => 'F-150', 'offroad' => 'No' ] ] ]; $soughtKeys = array_flip(['submodel', 'offroad']); function earlyReturningRecursion(array $array, array $soughtKeys, array &$result = []): array { foreach ($array as $key => $value) { if (!array_diff_key($soughtKeys, $result)) { return $result; } elseif (is_array($value)) { earlyReturningRecursion($value, $soughtKeys, $result); } elseif (isset($soughtKeys[$key]) && !isset($result[$key])) { $result[$key] = "$key is $value"; } } return $result; } var_export(earlyReturningRecursion($array, $soughtKeys));
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.4, 8.3.6 - 8.3.25, 8.4.1 - 8.4.12
array ( 'submodel' => 'submodel is LX', 'offroad' => 'offroad is No', )
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 ( 'submodel' => 'submodel is LX', 'offroad' => 'offroad is No', )

preferences:
108.93 ms | 407 KiB | 5 Q