如何在PHP中使用foreach中的两个数组

时间:2015-10-20 07:01:33

标签: php arrays foreach

我有两个数组,我之前存储为

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;
}

这里我需要来自两个数组的值以将其插入数据库。

先谢谢。

5 个答案:

答案 0 :(得分: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];
}

答案 1 :(得分: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];
}

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

执行&#39; foreach&#39;完全相同的处理。正在做第二个数组。使用所有数组都有的迭代器。

Working code at eval.in

<?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);
}

答案 4 :(得分: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函数