3v4l.org

run code in 300+ PHP versions simultaneously
<?php $path = ""; $finalArray = array(); $sourceArray = array( "bla.tif", "quux.tif", array("foo" => array("bar" => array("lorem" => array("ipsum.tif", "doler.tif")))), array("bar" => array("qux" => array("baz" => array("ipsum.tif", "ufo.tif")))) ); foreach($sourceArray as $key => $value) { if(!is_array($value)) { $finalArray[] = $value; } else { $finalArray[] = recur($value, $path); } } print_r($finalArray); function recur($value, $path) { foreach($value as $idx => $subValue) { if(!is_array($subValue)) { return $path . "/" . $subValue; } else { return recur($subValue, $path . "/" . $idx); } } }
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
Array ( [0] => bla.tif [1] => quux.tif [2] => /foo/bar/lorem/ipsum.tif [3] => /bar/qux/baz/ipsum.tif )

preferences:
246.78 ms | 406 KiB | 309 Q