3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = [ [ 'name' => 'name0', 'sub' => [ ['name' => 'name0.0'], ['name' => 'name0.1'] ] ], [ 'name' => 'name1', 'sub' => [ ['name' => 'name1.0'], ['name' => 'name1.1'], ['name' => 'name1.2'] ] ] ]; function search(array $array, $name) { foreach ($array as $key => $entry) { if ($entry['name'] === $name) { return [$key]; } if (isset($entry['sub']) && $found_keys = search($entry['sub'], $name)) { return array_merge([$key], $found_keys); } } return null; } print_r(search($input, 'name0.0')); print_r(search($input, 'name0.1')); print_r(search($input, 'name1.0')); print_r(search($input, 'name1.1')); print_r(search($input, 'name1.2'));
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => 0 [1] => 0 ) Array ( [0] => 0 [1] => 1 ) Array ( [0] => 1 [1] => 0 ) Array ( [0] => 1 [1] => 1 ) Array ( [0] => 1 [1] => 2 )

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:
176.05 ms | 405 KiB | 5 Q