如果包含一些字符串/符号,则从数组中删除元素

时间:2017-01-09 22:06:08

标签: php arrays array-filter

我有一个包含一些单词的数组,我想删除包含a的单词。 (fullstop)或; (分号)或其他一些符号。我已经阅读了[Remove item from array if item value contains searched string character]的解决方案,但这似乎没有回答我的问题。

我可以在此代码中添加哪些内容以删除包含分号以外的其他符号的字词?

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

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

由于

2 个答案:

答案 0 :(得分:2)

使用preg_match功能:

function myFilter($string) {
    return !preg_match("/[,.]/", $string);
}

[,.] - 可以使用任何其他符号扩展的字符类

答案 1 :(得分:1)

// $array is your initial array
$newArray = array();
foreach ($array as $item){
    if ((strpos($item, ';') > 0)||(strpos($item, '.') > 0))
        continue;
    $newArray[] = $item;
}

// Words with ; or . should be filtered out in newArray
print_r($newArray);