Opa Horst: Per Post Variablen mit zusätzlichen eckigen Klammern auffangen

Beitrag lesen

Opa Horst meint, mit der Syntax habe ich andauernd Probleme.
Lt. Namenskonventionen, sind "Eckige Klammern" keine Namensbestandteile!
In der Regel enthält ein Array Elemente, die durch einen Index oder Key selektiert werden. Diesen Index schreibt man hinter der Arraybezeichnung in eckige Klammern.
Beispiel: $_POST[test]
Sollte wirklich ein Array-inhalt per Formular übergeben werden, gibt es unterschiedliche Varianten.
1. Ich schreibe alle Elemente eines Array hintereinander in ein Formularfeld, natürlich von einem Trennzeichen abgeteilt.
<input type="text" name ="arrayX">
Innerhalb eines javascripts
var arrx = new Array (w1,w2,...)//-wie auch immer die Werte hineinkommem-
document.form.arrayX.value=arrx[0];//-vor dem ersten Element kein Trennzeichen-
for (i=1;i<arrayX.length;i++)document.form.arrayX.value+=","+arrx[i];
// das Komma als Trennzeichen.

Die Auswertung in PHP ist kein Problme!
den Inhalt sichern : $arrayX = $_POST[arrayX]
den Inhalt in ein Array schreiben: $arrx=explode(",",$_POST[arrayX]);

2. innerhalb PHP oder javascript wird jedes Array-Element als extra Formulatelement ausgegeben.
ein PHP-Beispiel:
for($i=0;$i<count($arrx);$i++)echo"\n<input type='text' name='test_'$i value='$arrayX[$i]'>";
// die Formularelemente heißen test_1 , test_2 , ...
Hier ist die Auswertung etwas komliziert, da der Key erst zusammengesetzt werden muß.
$postschl=array_keys($_POST);
for($i =0;$i<count($_POST);$i++)
{
   $spx = explode("_",$postschl[$i]);
   if($sp[0]=='test'){$arrx[$spx[1]]=$_POST[$i]}
              //oder {$arrx[$spx[1]]=$_POST[$postschl[$i]]}
}

3. Einen Arrayinhalt in eine Variable zu schreiben, geht vielleicht auch mit einem  "IMPLODE()"

vielleicht klappts
Opa Horst