3v4l.org

run code in 300+ PHP versions simultaneously
<?php $MAP = [ ['x', 'x', 'x', 'x'], ['x', 's', 'p', 'x'], ['x', 'p', 'p', 'x'], ['x', 'p', 'p', 'x'], ['x', 'p', 'p', 'x'], ['x', 'p', 'p', 'x'], ['x', 'x', 'x', 'x'], ]; $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($MAP), RecursiveIteratorIterator::SELF_FIRST); $parentKey = null; foreach($iterator as $key => $value) { if (is_scalar($value)) { var_dump($parentKey.'/'.$key.' => '.$value); } else { $parentKey = $key; } }

preferences:
29.2 ms | 404 KiB | 5 Q