2013-04-08 74 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