3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr['data_|_multilanguage_|_en_|_field'] = 23; $arr['data_|_multilanguage_|_de_|_field'] = 27; $delimiter = '_|_'; $result = array_reduce(array_keys($arr), function(&$c, $x) use ($delimiter, $arr) { $ref = &$c; foreach(explode($delimiter, $x) as $field) { $ref = &$ref[$field]; } $ref = $arr[$x]; return $c; }, []); var_dump($result);

preferences:
42.27 ms | 402 KiB | 5 Q