- var_dump: documentation ( source)
- array_reduce: documentation ( source)
- explode: documentation ( source)
- array_keys: documentation ( source)
<?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);