2015-12-15 41 views
0

我有以下兩個數組: the 2 arrays返回一個數組的值,但不包括所述第二數組的值

問題: 我怎樣才能使含有第一一個的值的3TH陣列 不含的第二個的值?

其他信息:

第一個被命名爲$檢查,第二個是名爲$排除。要排除 的值總是被存儲在第二陣列英寸 陣列可在長度,值和順序改變。

因此,在這種情況下,我得到這樣的結果:

 Array ([0] => 26 [1] => 28 [2] => 34) <-- array 3: 
+0

隨意編輯標題,我有一個有困難時期制定的問題。我會保持在線,直到它被回答,所以請隨時詢問更多細節。 –

+0

只需使用PHP的array_diff函數即可。 [檢查此](https://3v4l.org/g4k55) –

回答

1
$checked = array(11, 26, 38, 13); 
$excludeValues = array(26, 38); 

foreach ($excludeValues as $exclude) { 

    if ($key = array_search ($exclude , $checked)) { 
     unset($checked[$key]); 
    } 

} 

print_r($checked); 
1

環路通過所述第一陣列,然後檢查該值是否存在於第二陣列中如果不是,添加它的第三陣列。或者使用Uchiha提出的array_diff函數。

foreach($array1 as $items){ 
    if(!in_array($array2,$item)){ 
     $array3[] = $item 
    } 
} 
1

您可以使用array_diff()

$checked = array(26,28,34,39,41); 
$exclude = array(39, 41); 
$result = array_diff($checked, $exclude); 
print_r($result); 

結果:

Array ([0] => 26 [1] => 28 [2] => 34) 
+1

我用你的數字替換了文檔中的例子。更好? –

+0

完美:-)謝謝 –

相關問題