Are there any functions for recursively exploding and imploding multi-dimensional arrays in PHP?
A:
You can use array_walk_recursive
to call a given function on every value in the array recursively. How that function looks like depends on the actual data and what you’re trying to do.
Gumbo
2010-10-10 10:43:21
+1
A:
You can do this by writing a recursive function:
function multi_implode($array, $glue) {
$ret = '';
foreach ($array as $item) {
if (is_array($item)) {
$ret .= multi_implode($item, $glue) . $glue;
} else {
$ret .= $item . $glue;
}
}
$ret = substr($ret, 0, 0-strlen($glue));
return $ret;
}
As for exploding, this is impossible unless you give some kind of formal structure to the string, in which case you are into the realm of serialisation, for which functions already exist: serialize, json_encode, http_build_query among others.
lonesomeday
2010-10-10 11:20:19
Ah! Serialize is what i didn't know i needed!
gAMBOOKa
2010-10-10 11:51:00