如果项值包含搜索的字符串字符,则从数组中删除项

时间:2012-04-03 12:23:16

标签: php arrays string

我有一个根据网页的网址构建的数组。

如果该数组中的项目包含?符号(问号符号)然后我想从数组中删除该项目。

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

我怎么能这样做?我已经看过许多例子,其中搜索的字符串是整个值,但不是它只是一个字符或只是值的一部分。

由于

3 个答案:

答案 0 :(得分:18)

http://www.php.net/manual/en/function.array-filter.php

function myFilter($string) {
  return strpos($string, '?') === false;
}

$newArray = array_filter($array, 'myFilter');

答案 1 :(得分:11)

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

答案 2 :(得分:6)

使用封闭......

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