2012-04-03 48 views
7

我有一個從網頁的URL構建的數組。如果項目值包含搜索字符串字符,從數組中刪除項目

如果該數組中的項目包含?符號(問號符號),那麼我想從數組中刪除該項目。

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

我該怎麼辦?我見過很多例子,其中被搜索的字符串是整個值,但不是它只是單個字符或只是值的一部分。

感謝

回答

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

+1,不過我建議你按照手冊上說,用strpos代替。 – 2012-04-03 12:27:07

+0

你說得對。我已經更新了答案 – 2012-04-03 12:28:28

+0

@SoaicaMircea這會清除項目的值,但dosnt會將其從數組中移除? – Nicekiwi 2012-04-03 12:33:27

4

使用閉包...

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

如果你使用> = PHP 5.3就是。 – 2012-04-03 12:38:58

相關問題