2016-12-07 119 views
1

其實我有一個這樣的形式:陣列治療名字提交[]

<form> 
    <input name="name[]"> 
    <input name="name[]"> 
</form> 

這是太棒了,因爲與$(this).serialize()我可以得到人的值到一個數組。


但今天,我有一個這樣的2個輸入行。

<form> 
    <input name="name[]"> <input name="firstname[]"> 
    <input name="name[]"> <input name="firstname[]"> 
</form> 

如何處理最終數組以匹配具有良好值的輸入? 例如,我想name[1]firstname[1]一起使用。

謝謝。

+0

_I想名字[1]去與姓名[1] _你是什麼意思用不用?你想要一個包含名字和名字的字符串數組嗎? – olibiaz

+0

這些輸入'name [1]'將與'firstname [1]'匹配。 – AbraCadaver

+0

我不想要2個不同的數組,但只有一個數組。 –

回答

1

無論什麼時候,你需要一個多維數組,所以這兩種人會給你一個數組:

<input name="data[name][]"> <input name="data[firstname][]"> 
<input name="data[name][]"> <input name="data[firstname][]"> 

產量在$_POST陣列:

Array 
(
    [data] => Array 
     (
      [name] => Array 
       (
        [0] => something 
        [1] => something 2 
       ) 

      [firstnamename] => Array 
       (
        [0] => something else 
        [1] => something else 2 
       ) 
     ) 
) 

或者,與此您將需要手動匹配整數鍵,因爲[]將每次遞增並且不匹配這兩個值:

<input name="data[0][name]"> <input name="data[0][firstname]"> 
<input name="data[1][name]"> <input name="data[1][firstname]"> 

產量在$_POST陣列:

Array 
(
    [data] => Array 
     (
      [0] => Array 
       (
        [name] => something 
        [firstnamename] => something else 
       ) 

      [1] => Array 
       (
        [name] => something 2 
        [firstnamename] => something else 2 
       ) 
     ) 
)