我有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 –