2015-10-20 28 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

對不起,但不工作。 –