function out_array($array, $var = 'array', $_livel = null)
{
$out = $margin ='';
$nr = "\n";
$tab = "\t";
if (is_null($_livel)) {
$out .= '$' . $var . ' = ';
if (!empty($array)) {
$out .= out_array($array, $var, 0);
}
$out .= ';';
} else {
for ($n = 1; $n <= $_livel; $n++) {
$margin .= $tab;
}
$_livel++;
if (is_array($array)) {
$i = 1;
$count = count($array);
$out .= 'array(' . $nr;
foreach ($array as $key => $row) {
$out .= $margin . $tab;
if (is_numeric($key)) {
$out .= $key . ' => ';
} else {
$out .= "'" . $key . "' => ";
}
if (is_array($row)) {
$out .= out_array($row, $var, $_livel);
} elseif (is_null($row)) {
$out .= 'null';
} elseif (is_numeric($row)) {
$out .= $row;
} else {
$out .= "'" . addslashes($row) . "'";
}
if ($count > $i) {
$out .= ',';
}
$out .= $nr;
$i++;
}
$out .= $margin . ')';
} else {
$out .= "'" . addslashes($array) . "'";
}
}
return $out;
}
Рекурсивная, легко настраивается и поддерживает многомерные массивы.
Использование:
$array = array(
1 => null,
2 => 'PHP',
3 => 'CSS',
4 => array(
'JS',
'jQuery',
array(
'Node.js'
),
)
);
echo out_array($array);
Результат:
$array = array(
1 => null,
2 => 'PHP',
3 => 'CSS',
4 => array(
0 => 'JS',
1 => 'jQuery',
2 => array(
0 => 'Node.js'
)
)
);