2012-04-03 41 views
7

Tôi có một mảng được tạo từ URL của trang web.Xóa mục khỏi mảng nếu giá trị mục chứa ký tự chuỗi tìm kiếm

Nếu một mục trong mảng đó chứa? biểu tượng (Biểu tượng dấu hỏi) sau đó tôi muốn xóa mục đó khỏi mảng.

$array = 'news','artical','?mailchimp=1'; 

Tôi làm cách nào để thực hiện việc này? Tôi đã nhìn thấy nhiều ví dụ trong đó chuỗi tìm kiếm là toàn bộ giá trị, nhưng không phải là nơi chỉ một ký tự đơn lẻ hoặc chỉ là một phần của giá trị.

Cảm ơn

Trả lời

10
foreach($array as $key => $one) { 
    if(strpos($one, '?') !== false) 
     unset($array[$key]); 
} 
+0

+1, nhưng tôi đề nghị bạn làm như hướng dẫn nói và sử dụng strpos để thay thế. –

+0

Bạn nói đúng. Tôi đã cập nhật câu trả lời –

+0

@SoaicaMircea Điều này xóa giá trị của mục, nhưng dosnt xóa nó khỏi mảng? – Nicekiwi

4

Sử dụng một kết thúc ...

$array = array_filter($array, function($value){ 
    if (strstr($value, '?') !== false) 
    { 
     return false; 
    } 
    return true; 
}); 
+0

Nếu bạn đang sử dụng> = PHP 5.3. –

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