2013-04-08 73 views
0

這些是post變量。如何循環這個數組

如何將這些放入循環?

其中'master_customer_id'和'firstname'是名稱屬性 ,其中的數組是檢索到的值,我需要將這些值保存到數據庫。

值是動態的,意味着數組可以達到任何數字,這裏我只是說3個關鍵值對。

預先感謝您。

array 
    'master_customer_id' => 
    array 
     0 => string '1' (length=1) 
     1 => string '1' (length=1) 
     2 => string '1' (length=1) 
    'firstname' => 
    array 
     0 => string 'a' (length=1) 
     1 => string 'a' (length=1) 
     2 => string '' (length=0) 

我也在形式

<?php 

for($i=1;$i<=3;$i++){    
?> 

    <input type="hidden" name="master_customer_id[]" value="1" /> 
First Name: <input type="text" value="" name="firstname[]"/><br/> 

<?php } ?> 
+0

你想從數組中檢索到什麼? – Voitcus 2013-04-08 07:11:33

+1

使用'foreach'來遍歷數組。你可以嵌套它們。 – GolezTrol 2013-04-08 07:12:12

+0

'數值是動態的,意味着數組可以達到任何數字,那麼你如何將它們保存在數據庫列中?請提供一個數據庫模式的提示 – Ejaz 2013-04-08 07:12:28

回答

1
for ($i = 0; $i < count($_POST['master_customer_id']); $i++) { 
    echo $_POST['master_customer_id'][$i]; 
    echo $_POST['firstname'][$i]; 
} 

foreach ($_POST['master_customer_id'] as $key => $value) { 
    echo $value; 
    echo $_POST['firstname'][$key]; 
} 
1
foreach($array as $key => $value) 
{ 
    foreach ($value as $key1 => $value1) 
    { 
     echo $value1; 
    } 
} 
1

如果可以保證你有相同數量的master_customer_idfirstname,可以循環像這樣:

if (isset($_POST['master_customer_id'])) { 
    for ($i = 0; $i < count($_POST['master_customer_id']; $i++) { 
    $customer_id = $_POST['master_customer_id'][$i]; 
    $firstname = $_POST['firstname'][$i]; 
    } 
} 
+0

「如果確保您具有相同數量的master_customer_id和firstname」 - 「值是動態的,意味着數組可以上升到任何數字」 – Shoe 2013-04-08 07:16:51

+0

但您具有相同數量的'master_customer_id'和'firstname'。或者你可以像5'master_customer_id'但只有2'firstname'? – 2013-04-08 07:19:56