php正则能不能匹配数组

php正则能匹配数组。在php中,可以利用preg_grep()函数来使用正则表达式匹配数组中的元素;该函数可以搜索数组中的每一个元素,并返回与正则表达式匹配的所有元素所组成的数组,语法“preg_grep(正则表达式,数组,$flags)”;参数“$flags”是可选的,当值设置为“PREG_GREP_INVERT”,则会返回数组中与与正则表达式不匹配的元素组成的数组。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php正则能匹配数组。

在php中,说到正则匹配就想到字符串。其实使用正则表达式除了可以匹配字符串外,还可以匹配数组。

在php中,可以利用preg_grep()函数来使用正则表达式匹配数组中的元素。

preg_grep() 函数可以搜索数组中的所有元素,并返回与正则表达式匹配的所有元素所组成的数组。该函数的语法格式如下:

preg_grep($pattern, $input [, $flags = 0 ])

参数说明如下:

  • $pattern:要搜索的模式,也就是定义好的正则表达式;
  • $input:要搜索的数组;
  • $flags:可选参数,可以设置为 PREG_GREP_INVERT,这时函数会返回数组中与给定模式 $pattern 不匹配的元素组成的数组。

perg_grep() 函数将遍历 $input 数组中的每一个元素,让该元素与模式 $pattern 进行匹配,然后将匹配成功或者匹配失败的元素返回。

示例1:返回数组中指定匹配的元素

<?php
header('content-type:text/html;charset=utf-8');   
$array = array(1, 2, 3.4, 53, 7.9);
echo "原数组:";
var_dump($array);

// 返回所有包含浮点数的元素
$fl_array = preg_grep("/^(d+)?.d+$/", $array);
echo "返回所有包含浮点数的元素:";
var_dump($fl_array);
?>

1.png

示例2:

<?php
header('content-type:text/html;charset=utf-8');   
$test_arr = array(
    'PHP中文网',
    'http://www.yht7.com/',
    'php教程',
    'abcdefg'
);
$preg = '/^[a-z]/';
$preg_arr_1 = preg_grep($preg, $test_arr);
$preg_arr_2 = preg_grep($preg, $test_arr, PREG_GREP_INVERT);
echo '<pre>';
var_dump($preg_arr_1);
var_dump($preg_arr_2);
?>

2.png

推荐学习:《PHP视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php正则能不能匹配数组