mbr: Über GET übergegebene Daten auslesen

Beitrag lesen

Hallo Sebastian

Probier doch mal folgendes Script:

<?PHP
$query="";
$first=true;
foreach ($_GET as $key => $value ) {
 if($key != "L")
 {
  if(!$first)
  {
    $query.="&amp;";
  }
  if (is_array($value) === true) {
   $query = $query.print_array($key,$value,'');
  }
  else {
   $query = $query.$key."=".$value;
  }
  $first=false;
 }
}
echo "Resultat: ".$query;

function print_array($lastkey,$arr,$prefix)
{
  $first=true;
  if($prefix=='')
  {
    $prefix=$lastkey;
  }
  else
  {
    $prefix.="[".$lastkey."]";
  }
  foreach($arr as $key => $value)
  {
    if(!$first)
    {
      $ret.="&amp;";
    }
    if(is_array($value)===true)
    {
       $ret.=print_array($key,$value,$prefix);
    }
    else
    {
      $ret.=$prefix."[".$key."]=".$value;
    }
    $first=false;
  }
  return $ret;
}
?>

Das funktioniert bei mir zumindest mit diesen drei Testfällen

index.php?id=52&ad=7&bd=9
index.php?id=52&L=3&tx_ttnews[tt_news]=7&tx_ttnews[backPid]=28&cHash=944ab0955c
index.php?id=52&L=3&tx_ttnews[tt_news][7]=7&tx_ttnews[tt_news][9]=9&tx_ttnews[backPid]=28&cHash=944ab0955c

also mit arrays und auch mehrdimensionalen arrays (habs jetzt nur bis 2-dim getestet - wobei ich mir auch gar nicht so ganz sicher bin, ob eine solche Übergabe noch "sauber" ist)

liebe Grüße

mbr