Tôi có một mảng được tạo với bất kỳ nơi nào giữa 3 và 12 giá trị, nó tạo mảng từ thông tin tài khoản;PHP nếu in_array cho nhiều giá trị
$result = $ad->user()->groups($user['username']);
Tôi muốn kiểm tra mảng này cho nhiều giá trị (khoảng 4 hoặc 5) và nếu ai trong số họ đang ở trong đó làm gì bên trong nếu, tôi có thể làm điều đó cho một giá trị khá dễ dàng qua:
if (in_array("abc",$result)) { $this->login_session($user); }
có một cách đơn giản để kiểm tra điều này một mảng cho nhiều giá trị trong nó khác hơn ORS liên tiếp:
if (in_array("abc",$result) || in_array("123",$result) || in_array("def",$result) || in_array("456",$result)) {
$this->login_session($user);
}
Bạn có thể chuyển mảng dưới dạng giá trị tìm kiếm. – Voitcus
@all nếu bạn truyền 'in_array' một mảng làm kim nó chỉ trả về true nếu mảng kim là khớp chính xác với một mảng trong haystack. Vì vậy, để ném OP một xương nó có lẽ là một chút sai lầm? [xem trường hợp thử nghiệm] (http://codepad.org/fLKLfd0K) – Emissary
Cảm ơn bạn Emissary, tôi đã có vấn đề chính xác với tất cả các câu trả lời/ý kiến. Tôi cần nó đúng nếu bất kỳ giá trị nào nằm trong mảng, các đề xuất chỉ hoạt động như bạn đã nói nếu chúng phù hợp chính xác. – toups