Làm cách nào khác bạn có thể so sánh hai mảng ($ A và $ B) và giảm các phần tử phù hợp ra khỏi đầu tiên để chuẩn bị cho vòng lặp tiếp theo trên mảng $ A?Làm thế nào để so sánh hai mảng và loại bỏ các phần tử phù hợp từ một cho vòng lặp tiếp theo?
$A = array(1,2,3,4,5,6,7,8);
$B = array(1,2,3,4);
$C = array_intersect($A,$B); //equals (1,2,3,4)
$A = array_diff($A,$B); //equals (5,6,7,8)
Đây có phải là cách đơn giản nhất hoặc có cách nào để sử dụng chức năng khác mà tôi chưa từng nghĩ đến? Mục tiêu của tôi là có một mảng mà tôi có thể lặp lại, rút ra các nhóm nội dung liên quan (tôi đã định nghĩa các mối quan hệ đó ở nơi khác) cho đến khi mảng trả về false.
này Nó có thể là tôi, nhưng tôi không nghĩ rằng câu hỏi là rất rõ ràng. Khi tôi đọc nó, bạn chỉ quan tâm đến mảng_diff ($ A, $ B) (có vẻ khá đơn giản). Hay là tính toán $ C cũng cần thiết? (Nếu vậy, bạn có thể sử dụng mảng_diff ($ A, $ C) thay vì mảng_diff ($ A, $ B).) – mweerden
Không, tôi tuyên bố $ C là giao điểm của $ A và $ B – kevtrout