2015-10-20 104 views
-2

我有我存储在早些时候为如何使用两个数组中的foreach在PHP

foreach($data as $test_data) 
{ 
$arr1[] = $test_data['val1']; 
$arr2[] = $test_data['val2']; 
} 

现在我想用在另一个foreach循环两个数组有没有办法两个数组?

我试过下面的方法,但它不工作。

foreach($arr1 as $data1 and $arr2 as $data2) 
{ 
echo $data1; 
echo $data2; 
} 

这里我需要从两个数组中的值插入数据库。

谢谢先进。

回答

2

试试这样说:

foreach ($arr1 as $key => $value) { 
    echo $value; 
    echo $arr2[$key]; 
} 

,或者您可以使用for循环:

for ($i = 0; $i < count($arr1); $i++) { 
    echo $arr1[$i]; 
    echo $arr2[$i]; 
} 
+0

对不起,我以前的评论尝试: (,我修正了一个错误,并且这会对我有用。谢谢 –

1

您可以将您喜欢这两个值,

foreach($data as $test_data) 
{ 
$arr['arr1'][] = $test_data['val1']; 
$arr['arr2'][] = $test_data['val2']; 
} 

for ($i=0; $i< count($arr); $i++) 
{ 
    echo "val1 = ".$arr['arr1'][$i]; 
    echo "val2 = ".$arr['arr2'][$i]; 
} 
+0

试过了,也没有工作。 –

+0

你得到了什么错误?粘贴他re –

+0

我在后台运行这个脚本并进行测试我添加了代码来发送带有这个变量的邮件,但是我没有收到任何邮件。如果我删除这个foreach,那么所有的东西都像魅力一样。 –

0

如果两个数组有长度相同,也许你可以这样做:

foreach($arr1 as $key=>$value){ 
    $arr1[$key]; 
    $arr2[$key]; 
} 
0

执行与'foreach'完全相同的处理,但在第二个数组上。使用所有数组都有的迭代器。

​​

<?php 

$a1 = array('a1k1' => 'a1v1', 'a1k2' => 'a1v2', 'a1k3' => 'a1v3'); 
$a2 = array('a2k1' => 'a2v1', 'a2k2' => 'a2v2', 'a2k3' => 'a2v3'); 

reset($a2); // indicate what the code will use... 
      // do exactly what the `foreach` loop is doiung 

foreach($a1 as $a1Key => $a1Value) { 

$a2Key = key($a2); 
$a2Value = current($a2); 


echo '<br />', 'a1Key: ', $a1Key, ' a1Value: ', $a1Value; 
echo '<br />','a2Key: ', $a2Key, ' a2Value: ', $a2Value; 

next($a2); 
} 
0

如果你有这样的2个或多个阵列,那么你可以通过这个简单的方法

$data1= array('val1'=>'yes','val2' => 'no'); 
$data2= array('val3'=>'yes','val4' => 'no','val5' => 'go'); 

$data = array_merge($data1,$data2); 
foreach($data as $key => $val) 
{ 
echo $val."<br>"; 
} 

我这里使用array_merge功能

+0

对不起,但不工作。 –