array2string_recursive
Nina
- php
0 Stefan Eickhoff0 Nina
Hi,
wollte mir heute eine schöne rekursive Funktion schreiben, womit ein Array sauber in einen String umgewandelt wird. Doch leider passiert nun etwas, was mir noch nie unter die Augen kam: Der Apache will keine Antwort geben.
Ein gewünschtes Ergebnis wäre z.B. arr_params[ebene1]=e1&arr_params[ebene2][ebene2_1]=e2, aber wie gesagt: es kommt nichts.
<?
$arr['ebene1']='e1';
$arr['ebene2']['ebene2_1']='e2';
echo arr2str($arr,'&','arr_params');
function arr2str($arr,$delimiter=' ',$praefix='')
{
$str='';
foreach($arr AS $name=>$value)
{
if(is_array($value))
{
$str.=arr2str($arr,$delimiter,'&arr_params['.$name.']');//ist diese Zeile nicht auskommentiert, so antwortet der Apache dem Browser IE, Firefox sowie wget auch nicht
}
else
$str.=$praefix.'['.$name.']='.$value.$delimiter;
}
return(trim($str));
}
?>
Hoffe, ihr könnt mir helfen.
Vielen Dank schonmal.
Hallo,
Du hast eine Endlosschleife konstruiert.
Schau Dir mal im Manual die Funktion serialize() an.
Viele Grüße
Stefan
Hi,
stimmt:
$str.=arr2str($value,$delimiter,'&arr_params['.$name.']');
sollte es besser heißen.
Danke!
PS: Leider hilft mir serialize nicht weiter, denn meine Funktion ist noch nicht fertig und bekommt noch ein paar Features...