PHP preg_grep() 函数返回由指定数组的元素组成的数组匹配给定的模式。
语法
preg_grep(pattern, array, flags)
参数
mode | 必填。 以字符串形式指定要搜索的模式。 |
array | 必需。 指定输入数组。 |
flags | 必填。 此函数只有一个标志。如果设置为 PREG_GREP_INVERT,则此函数返回输入数组中与给定模式不匹配的元素。 |
返回值
返回使用输入数组中的键索引的数组,失败时返回 false。
示例:
下面的示例显示了 preg_grep() 函数。
<?php
$arr = array("Red",
"Pink",
"Green",
"Blue",
"Purple");
//返回所有数组元素
//以字母P开头
$result = preg_grep("/^p/i", $arr);
print_r($result);
?>
上述代码的输出将是:
Array
(
[1] => Pink
[4] => Purple
)
示例:
考虑下面的示例,其中flags 参数用于选择数组中与指定模式不匹配的所有元素。
<?php
$arr = array("Red",
"Pink",
"Green",
"Blue",
"Purple");
//返回所有数组元素
//不以字母P开头
$result = preg_grep("/^p/i", $arr,
PREG_GREP_INVERT);
print_r($result);
?>
上述代码的输出将是:
Array
(
[0] => Red
[2] => Green
[3] => Blue
)
示例:
再考虑一个示例,其中此函数用于选择所有内容包含浮点数的数组元素。
<?php
$arr = array("10.5",
"Hello",
100.25,
10,
1e5,
"abc.com");
//返回包含的所有数组元素
//浮点数
$result = preg_grep("/^(\d+)?\.\d+$/", $arr);
print_r($result);
?>
上述代码的输出将是:
Array
(
[0] => 10.5
[2] => 100.25
)