14
目前我有2陣列:察看2個陣列具有至少1個相等的值
array(1, 2, 3, 4);
array(4, 5, 6, 7);
如何檢查是否有在兩者ATLEAST一個相等的值? (上面的例子有1個相等的值=> 4,所以函數應該返回true)。
目前我有2陣列:察看2個陣列具有至少1個相等的值
array(1, 2, 3, 4);
array(4, 5, 6, 7);
如何檢查是否有在兩者ATLEAST一個相等的值? (上面的例子有1個相等的值=> 4,所以函數應該返回true)。
返回包含存在於所有的參數的ARRAY1的所有值的數組。需要注意的是,鍵被保留
$a = array(1, 2, 3, 4);
$b = array(4, 5, 6, 7);
$c = array_intersect($a, $b);
if (count($c) > 0) {
var_dump($c);
//there is at least one equal value
}
你
array(1) {
[3]=>
int(4)
}
http://es2.php.net/manual/en/function.array-intersect.php檢查了這一點。 – Rafee 2011-12-30 12:32:13
then:'if(count($ c)> 0)doSomething();' – Alasdair 2011-12-30 12:32:40
這是次優的,因爲計算完整的交集,但只要找到一個匹配就可以停止。但是,對於小型陣列,內置函數的效率可能會超出理論複雜性問題。如果你有大型陣列,你最好先對它們進行排序,然後做一個決鬥遍歷,從每個陣列中刪除最低點,直到兩者都爲空或者匹配。 – 2016-05-11 09:01:20