【问题标题】:Remove element from array if contains some string/symbol如果包含一些字符串/符号,则从数组中删除元素
【发布时间】:2017-01-09 22:06:08
【问题描述】:

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

我可以在这段代码中添加什么来删除包含分号以外的其他符号的单词?

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

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

谢谢

【问题讨论】:

  • 我们可以看看你使用的数组吗?

标签: php arrays array-filter


【解决方案1】:

使用preg_match函数:

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

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

【讨论】:

  • 漂亮干净的解决方案。谢谢
【解决方案2】:
// $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);

【讨论】:

    猜你喜欢
    • 2018-05-05
    • 2020-08-29
    • 2020-02-14
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    相关资源
    最近更新 更多