我有2個數組:陣列比較檢查
第一:
$array1 = ("Key 1","Key 2","Key 3"); //is dynamic, so can range from 1 => many values
第二陣列是錄入數據庫的值,該值將返回基於陣列然而許多鍵播放器具有在清單中。
$array2 = ("Key 1","Key 1","Key 2","Key 3","Key 3","Key 3") //in this case, the player DOES have all the keys.
我的問題是,我無法弄清楚正確的邏輯來比較這些陣列,看看是否$array2
有在$array1
至少一個實例。
我比較代碼我試過..
$check = array();
while ($k = mysql_fetch_array($array2)) {
foreach ($array1 as $name) {
if ((string)$name == (string)$k['name']) $check[] = true;
else $check[] = false;
}
}
foreach ($check as $bool) {
if ($bool == false) {
$return = false;
} else {
$return = true;
}
}
return $return;
的問題存在,當我print_r($check)
,我得到了許多假的,所以即使玩家包含了所有正確的數字鍵,關閉比較打破了代碼和它返回false。
這種比較邏輯的任何幫助都非常好,如果您需要更多詳細信息,請告訴我。
不是array_intersect()函數給你這個嗎? –
我將如何去使用它? '$ result = array_intersect($ array1,$ array2); if($ result){// do this}'? –
http://php.net/array_intersect –