从数组中移除匹配php

时间:2018-12-18 02:59:09

标签: php arrays

我有以下数组

[0] => 1009
[1] => 1033
[2] => 2052
[3] => ANNEX 4E
[4] => Bill of Lading
[5] => CERTIFICATE OF ANALYSIS
[6] => CERTIFICATE OF ORIGIN
[7] => DHL - 5130431633

我想用DHL删除该值,后跟任意数字。任何包含DHL的值我都想删除。

例如DHL-5130431633或DHL-51304345654应该删除dhl前面的数字没关系

我使用了以下代码,但是不起作用

$xmlarrayresultdocsave = preg_grep("/^DHL$/i", $xmlarrayresultdocsave, 
PREG_GREP_INVERT);

2 个答案:

答案 0 :(得分:1)

您的正则表达式仅在行中查找DHL,而不是整个字符串。您需要这样做:

/^DHL.*$/i

匹配DHL和其他所有内容,直到该行的末尾。

答案 1 :(得分:0)

以下代码将完全满足您的要求。

handleEmployeeChange(val){
    val === "name" ? const newState = { ...this.state, employeeNames: newVal };
    this.setState({ ...newState, isValid: getValidation(newState) });
    : 
    const newState = { ...this.state, employeeTypes: newVal };
    this.setState({ ...newState, isValid: getValidation(newState) });
}