- var_dump: documentation ( source)
- is_scalar: documentation ( source)
<?php
function flatten($arr)
{
$result = [];
foreach ($arr as $key => $value) {
if (is_array($value)) {
foreach (flatten($value) as $subKey => $scalar) {
$result[$key . ':' . $subKey] = $scalar;
}
} else if (is_scalar($value)) {
$result[$key] = $value;
}
}
return $result;
}
var_dump(flatten(['foo' => 123, 'bar' => 456]));
var_dump(flatten(['foo' => ['bar' => 123, 'baz' => ['letsgo' => 'deeper']]]));