- var_dump: documentation ( source)
- array_fill: documentation ( source)
<?php
function flatten_array($array, $flat = array()) {
foreach($array as $k=>$v){
$k = strval($k);
if(!is_array($v)){
$i = 0;
while(true){
$i++;
$key = $k."-".strval($i);
if(!isset($flat[$key])) break;
}
$flat[$key] = $v;
}else{
$flat = flatten_array($v, $flat);
}
}
return $flat;
}
// this line generates a 10x10 multi-d array
$a = array_fill(0, 10, array_fill(0, 10, 0));
$flat_array = flatten_array($a);
var_dump($flat_array);