Um verschachtelte Arrays zu Imploden (Multi Implode) oder einen String zu einem verschachtelten Array zu Exploden (Multi Explode) können diese Funktionen verwendet werden.
$array = array( array(1, 2, array(22,55,66)), array(2, 4, 5), array(7, 8, 9));
function multi_implode(array $glues, array $array) {
$out = "";
$g = array_shift($glues);
$c = count($array);
$i = 0;
foreach ($array as $val) {
if (is_array($val)) {
$out .= multi_implode($glues, $val);
} else {
$out .= (string)$val;
}
$i++;
if ($i < $c) {
$out .= $g;
}
}
return $out;
}
function multi_explode(array $delimiter, $string) {
$d = array_shift($delimiter);
if ($d != NULL) {
$tmp = explode($d, $string);
foreach ($tmp as $key => $o) {
$out[$key] = multi_explode($delimiter, $o);
}
} else {
return $string;
}
return $out;
}
$string = multi_implode(array('<br />', ', ', '- '), $array);
echo $string;
Ausgabe:
1, 2, 11- 55- 66
2, 4, 6
5, 10, 15