Wie die POST-Daten wie in einem indizierten array von arrays (ohne Angabe von Indizes)

ich habe einige problem mit der posting-Daten als array von Arrays. Dies ist, wie ich möchte, dass meine Daten VERÖFFENTLICHT werden:

array(
['someName'] =>
array([0] =>
      array(['description'] =>890
            ['valore'] =>444)
      [1] =>
      array(['description'] =>98090
            ['value'] =>77)
) 

Ich weiß, ich kann erreichen, wenn mein html sieht so aus:

<input type='text' name="someName[0][value]">
<input type='text' name="someName[0][description]">
<input type='text' name="someName[1][value]">
<input type='text' name="someName[1][description]">

Mein problem ist, dass die input-Felder sind auf Zeilen einer Tabelle und die Benutzer können hinzufügen/entfernen Sie so viele Zeilen, wie er will, also kann ich keine festen index (oder ich ändern die Namen der input-Felder jedes mal, wenn eine Zeile Hinzugefügt wird, da jedes mal, wenn ich eine Zeile hinzufügen, die ich Klon die Obere Zeile in der Tabelle)

Also, was ich Frage, ist eines dieser beiden Dinge:

1) gibt es eine Möglichkeit, post-Daten, wie ich will, ohne definieren Sie einen index

2)wenn nicht, wie kann ich das ändern dynamisch den neuen input-Feld, so dass Sie einen aktualisierten Namen mit dem neuen index?

BEARBEITEN - ich hatte bereits versucht, mit name="someName[value][]" und name="someName[description][]" aber die Ausgabe ist nicht die gewünschte:

array(['terreniOneri'] =>
       array(['descrizione'] =>array([0] =>890
                                      [1] => 98090)
               ['valore'] =>array([0] =>444
                                  [1] =>677)
      ) 

ich weiß, ich kann die Iteration über das array in php ich Frage mich, ob ich könnte es vermeiden.

  • Kommentierung, da keine Zeit für eine umfassende Antwort: Eher als das kopieren in der oberen Zeile, die Sie erzeugen könnte eine Vorlage Zeile in eine variable (zB var template='<tr><td><input name=someName[%%ROWNUM%%][description]>...</td></tr> und ersetzen Sie alle vorkommen von %%ROWNUM%% mit dem nächsten index, den Sie möchten (Sie müssen zum nachverfolgen der Zählung). Dann jquery zu bauen, die als HTML, und fügen Sie am Ende Ihrer Tabelle.
  • ich brauche Klonen Sie die Zeile, weil "irgendetwas" kann variieren, abhängig von der Zeile und so kann ich nicht hartcodieren. Was soll ich tun (aber ich weiß nicht, wie es zu tun) ist die Veränderung des index in den Namen (nur die Zahl) in der neuen Zeile (also dass, wenn ich irgendetwas[1][Beschreibung] in der orginal-Reihe, hat die Kopie name[2][Beschreibung]) Kein problem, wenn die Subtraktion, wie Sie darauf hingewiesen!
  • Nun, man kann immer "irgendetwas" eine template-variable zu oder speichern Sie verschiedene Vorlagen für unterschiedliche Zwecke, etc. Sobald du spielst mit javascript sollten Sie in der Lage zu tun, was Sie wirklich wollen.
Schreibe einen Kommentar