2017-10-18 153 views
3
$dogruA = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); 
$yanlisA = array("3", "4", "7", "8", "10"); 

shuffle($dogruA); 
shuffle($yanlisA); 

    foreach ($dogruA as $dogru) : 
     if ($dogru != '') { 
      ?> 
       <input type="checkbox" name="answerSik[]" 
         value="<?php echo $dogru; ?>"><?php echo $dogru; ?> 
      <?php 
     } 
    endforeach; 

    foreach ($yanlisA as $yanlis) : 
     if ($yanlis!= '') { ?> 
       <input type="checkbox" name="answerSik[]" 
         value="0"><?php echo $yanlis; ?> 
      <?php 
     } 
    endforeach; 

我該如何結合這兩個foreach?如何結合使用不同數組結果的2個Foreach循環?

我嘗試這些:

foreach($dogruA as $dogru and $yanlisA as $yanlis) 

foreach (array_combine($dogruA, $yanlisA) as $dogru => $yanlis) { 

但我沒有成功。 如何使用方法?

+0

使用array_merge代替array_combine –

+1

應該使用[array_merge](http://php.net/手動/ en/function.array-merge.php),然後[array_unique](http://php.net/manual/en/function.array-unique.php),如果你想從合併數組的唯一值 –

回答

0

您可以先合併您的陣列,如

$new_array = array_merge($dogruA, $yanlisA); 

在此之後通過將其與array_unique()方法來FOREACH它負責陣列的重複值,

foreach(array_unique($new_array) as $single){ 
echo $single; 
} 
1

您可以使用

foreach (array_merge($dogruA, $yanlisA) as $dogru => $yanlis) { 

Array_combine比什麼您這裏需要

而作爲在評論正確地貼上面,如果你只需要唯一值,你應該使用這個

foreach (array_unique(array_merge($dogruA, $yanlisA)) as $dogru => $yanlis) { 
不同的功能
+0

array_combine()是一個數組作爲關鍵數組的方法,另一個是值數組 – Rits

+0

@Rits是的抱歉錯了複製粘貼我編輯它 –

+0

它的好兄弟,但一些小錯誤可以誤導其他人。 – Rits