【问题标题】:php remove element from array using regular expressionphp使用正则表达式从数组中删除元素
【发布时间】:2019-05-30 02:19:03
【问题描述】:

我有以下数组

(
[0] => DHL - 4857998880
[1] => DHL - 4858005666
[2] => COA - 485344322
)

我想遍历数组,如果找到 DHL,那么我想从数组中删除。 DHL前面的数字无关紧要。我想从数组中删除前面带有 DHL 的任何元素。

我创建了以下正则表达式来忽略前面的数字,但不确定如何从那里继续前进。

foreach($result as $valDHL) {

   $s = preg_replace("/[^a-z-]/i", "", $valDHL);

}

【问题讨论】:

    标签: php arrays regex


    【解决方案1】:

    您可以使用array_filter 去除数组中以DHL 开头的条目,使用正则表达式^DHL 查看条目是否以DHL 开头:

    $array = array(
    0 => 'DHL - 4857998880',
    1 => 'DHL - 4858005666',
    2 => 'COA - 485344322'
    );
    $array = array_filter($array, function ($v) { return !preg_match('/^DHL/', $v); });
    print_r($array);
    

    输出:

    Array (
      [2] => COA - 485344322 
    )
    

    Demo on 3v4l.org

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 2014-11-02
      • 2013-08-14
      • 2013-02-08
      • 2019-03-15
      • 1970-01-01
      • 2013-08-02
      相关资源
      最近更新 更多