2017-05-23 3 views
0

Ich möchte mehrdimensionales Array erhalten gewünscht, wie folgt:Wie erwünschte multidimensionale Array mit dynamischer Form erhalten?

array (
    array (abc => 'a', def => 1), 
    array (abc => 'b',def => 2) 
) 

Aber nicht in der Lage Idee zu bekommen, wie seine Form zu bauen. Hilf mir bei diesen Jungs.

Ich versuchte, die Form wie folgt mit Erwartung zu erstellen, um die obigen Ergebnisse zu erhalten.

<form method="POST" action="test.php"> 
<textarea name="test[][abc]"></textarea> 
<input type="text" name="test[][def]"> 
<textarea name="test[][abc]"></textarea> 
<input type="text" name="test[][def]"> 
// the 2nd set of textarea and input was dynamically generated by jQuery 
<input type="submit"> 
</form> 

Entschuldigung, wenn frühere Fragen für Sie nicht abgeschlossen zu verstehen.

AKTUALISIERT:

Nach bestimmten Änderung auf HTML I wird wie folgt erfolgreich ein Array erhalten:

Array 
(
    [scope] => Array 
     (
      [0] => iusd 
      [1] => aishsadf 
     ) 

    [qty] => Array 
     (
      [0] => 723186 
      [1] => 324 
     ) 

) 

Wie auf den Wert zuzugreifen und sie paaren?

+0

zeigen Sie Ihre HTML-Formular – JYoThI

+0

das ist so eine vage Frage – Ghost

+0

Wenn Sie nicht möchten, dass dieser Beitrag geschlossen wird, fügen Sie am besten einige relevante Informationen hinzu. – RST

Antwort

0

Sammeln Sie die Werte in einem mehrdimensionalen Array, indem Sie den Eingabefeldern einen Namen mit [] [] geben. Lassen Sie die Postanforderung zu Testzwecken an dieselbe Datei senden. Drucken Sie die Werte aus, indem Sie eine verschachtelte foreach-Anweisung erstellen.

//filename = post.php 
<form action="post.php" method="post"> 
    <label>field1</label> 
    <input type="text" name="array[0][value1]"> 
    <label>field2</label> 
    <input type="text" name="array[1][value2]"> 

    <input type="submit" value="submit"> 
</form> 

<?php 

    if(isset($_POST)){ 
     $array = $_POST['array']; 

     foreach($array as $key => $array2){ 
     foreach($array2 as $key => $value){ 
      echo $value; 
     }  
     } 
    } 
?> 
1

müssen Sie denselben Index (Schlüssel) für beide texteara und Textbox Paar angeben, es sei denn, die jeweils Daten in neue Index schieben wie diese

array (
     array (abc => 'a'), 
     array (def => 1), 
     array (abc => 'b'), 
     array (def => 2) 
    ) 

So sollte Form wie diese

<form method="POST" action="test.php"> 
<textarea name="test[0][abc]"></textarea> 
<input type="text" name="test[0][def]"> 
<textarea name="test[1][abc]"></textarea> 
<input type="text" name="test[1][def]"> 
<input type="submit"> 
</form> 
sein

AUSGABE

`array (
      array (abc => 'a', def => 1), 
      array (abc => 'b',def => 2) 
    )` 
Verwandte Themen