在数组中使用正则表达式查找 PHP

3
我正在寻找在字符串数组中查找某个字符串的方法:
$array = ['string1'=>'custom', 'other string'=>'another', 'another'=>'again', 'custom'=>'pid|100', 'once again'=>'pid|'];

我需要找到这个元素:pid|100

字符串应包含:pid|任何正整数

foreach($array as $value) { 
   // regular expression here
}

我该如何找到这个值? 谢谢!
2个回答

11

你想要使用preg_grep来实现这个目的 :)

print_r(preg_grep('/^pid\|[0-9]+$/',$array));

请查看我的更新问题。我有另一个数组。 - XTRUST.ORG
它应该在关联数组上表现相同。如果您只想要值,则可以对preg_grep的返回值使用array_values,使结果被索引。 - Marc

1

in_array(preg_match('/^pid\|[0-9]+$/',$your_array),$your_array);

in_array(preg_grep('/^pid\|[0-9]+$/',$your_array),$your_array);

如果您需要检查特定元素,例如pid|100,则只需使用in_array('pid|100',$your_array)即可,无需使用正则表达式进行检查。

希望这可以帮助您解决您的问题。


谢谢。请看一下我的更新问题。我的输入数据有另一种结构。 - XTRUST.ORG
如果您需要检查特定元素,例如 pid|100,只需使用 in_array('pid|100',$your_array),无需使用正则表达式进行检查。 - karvin.developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接