2014-10-07 46 views
1

我正在通過jQuery在頁面上收集所有表單域,然後將它們傳遞到ajax文章中的php頁面,該數組像下面一樣傳遞(實際數據超過60個字段/目前陣列)將某些子數組轉換爲另一個數組

Array 
(
    [0] => Array 
     (
      [0] => main 
      [1] => text 
      [2] => product-name 
      [3] => fieldvalue 
     ) 
[1] => Array 
    (
     [0] => main 
     [1] => select 
     [2] => product-range 
     [3] => fieldvalue 
    ) 

[2] => Array 
    (
     [0] => main 
     [1] => select 
     [2] => product-year 
     [3] => fieldvalue 
    ) 

[3] => Array 
    (
     [0] => main 
     [1] => text 
     [2] => product-type 
     [3] => fieldvalue 
    ) 

[4] => Array 
    (
     [0] => main 
     [1] => text 
     [2] => product-sku 
     [3] => fieldvalue 
    ) 

[5] => Array 
    (
     [0] => main 
     [1] => text 
     [2] => component-name 
     [3] => fieldvalue 
    ) 

[6] => Array 
    (
     [0] => main 
     [1] => text 
     [2] => component-stid 
     [3] => fieldvalue 
    ) 

在形式,用戶可以動態地添加多組組件字段,我所希望做的是獲得組7個組件字段到一個數組,然後添加到一個多維數組我可以稍後排序的組件。我目前通過陣列數據的循環方式如下

foreach($formdata as $value) { 

     if($value[0] == 'main') { 

      if($value[2] == 'product-name') { $productname = $value[3]; } 
      if($value[2] == 'product-range') { $productrange = $value[3]; } 
      if($value[2] == 'product-year') { $productyear = $value[3]; } 
        } 
} 

我真的在努力尋找拉這一關的清潔方式,任何人都可以提出建議的最佳做法是什麼?

感謝

+0

您要問這裏。你能以更好的方式解釋它嗎? – Dhanendran 2014-10-07 08:39:51

+0

@Dhanendran我抓住了一大串表單域,在那個表單中有一行有6個域用於添加組件,用戶可以添加這些6的多行,即時通訊嘗試從主窗體數據中過濾掉這些信息數組並將它傳遞到它自己的數組,同時保持行值分組 – user1372212 2014-10-07 08:44:52

+0

什麼是最終的輸出嗎? – Ghost 2014-10-07 08:51:57

回答

1

您可以使用關聯數組是這樣的:

$arr = array(
    'product_range' => array("main" => "text", 'product_range' => 'val'), 
    'product_type' => array("main" => "text", 'product_type' => 'val') 
); 
foreach ($arr as $key => $val) { 
    echo $key." is ".$val[$key]."<br>"; 
} 
相關問題