3v4l.org

run code in 300+ PHP versions simultaneously
<?php function get_array_deep_value(array $array, array $levelKeys) { foreach ($levelKeys as $index => $key) { if (!key_exists($key, $array)) { throw new Exception("key $key not found at level index $index"); } $array = $array[$key]; } return $array; } $myArray = [ 'one' => [ 'two' => [ 'three' => [ 4 ] ] ] ]; $pathArrays = [ ['one', 'two', 'three'], ['one', 'two'], ['one'], ['two'] ]; foreach ($pathArrays as $pathArray) { try { var_export(get_array_deep_value($myArray, $pathArray)); } catch (Exception$e) { echo $e->getMessage(); } echo "\n---\n"; }
Output for git.master, git.master_jit, rfc.property-hooks
array ( 0 => 4, ) --- array ( 'three' => array ( 0 => 4, ), ) --- array ( 'two' => array ( 'three' => array ( 0 => 4, ), ), ) --- key two not found at level index 0 ---

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
116.82 ms | 405 KiB | 5 Q