• 技术文章 >后端开发 >PHP问题

    php正则能不能匹配数组

    青灯夜游青灯夜游2022-07-22 16:52:48原创502

    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 ])

    参数说明如下:

    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.php.cn/',
        '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视频教程

    以上就是php正则能不能匹配数组的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP支持索引数组吗 下一篇:php数组是对象吗
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php怎么实现正则表达式匹配一段字符串替换• php正则表达式中点怎么转义• JavaScript正则表达式,这一篇就够了• 99+ 个常用正则表达式,一次白嫖个够!
    1/1

    PHP中文网