2011-12-30 25 views

Trả lời

30

array_intersect()

trả về một mảng chứa tất cả các giá trị của array1 được hiện diện trong tất cả các đối số. Lưu ý rằng các phím được bảo quản

$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 
} 

bạn nhận được

array(1) { 
    [3]=> 
    int(4) 
} 
+0

http://es2.php.net/manual/en/function.array-intersect.php check this out. – Rafee

+0

sau đó: 'if (count ($ c)> 0) doSomething();' – Alasdair

+2

Đây là phụ tối ưu khi giao điểm hoàn thành được tính toán, nhưng bạn có thể dừng ngay khi tìm thấy một kết quả phù hợp. Tuy nhiên, với các mảng nhỏ, hiệu quả của một hàm tích hợp có lẽ sẽ vượt quá cân nhắc vấn đề phức tạp về lý thuyết. Nếu bạn có mảng lớn, bạn sẽ làm tốt hơn để sắp xếp chúng và sau đó thực hiện một cuộc đấu tay đôi để loại bỏ mức thấp nhất từ ​​mỗi cho đến khi cả hai trống hoặc có một trận đấu. –

Các vấn đề liên quan