PHP正则表达式preg_match输出问题

来源:2-4 正则表达式函数之preg_match与preg_match_all

无所畏惧小小小

2016-11-10 16:28

<?php
//$pattern=正则表达式
//$subject=匹配的目标数据

//preg_match,preg_match_all

$pattern='/[0-9]/';
$subject='we56sd8g7f54gf23121xcv234gjyt8';

$m1=$m2=array();
preg_match($pattern,$subject,$m1);
preg_match_all($pattern,$subject,$m2);


show($m1);
echo '<hr>';
show($m2);


function show ($val =null){
    if(empty($var)){
        echo 'null';
    }else if(is_array($var)||is_object($var)){
        //array object
        echo '<pre>';
        print_($var);
        echo '<pre>';
    }else{
        //string int float...
        echo $var;
    }
}
代码如上所示。。输出的结果为两个null,请问各位大神我的代码哪里错了?谢谢

(返回的代码应该是匹配到的两个只包含数字的数组)

写回答 关注

2回答

  • 君听
    2018-11-24 15:40:40

    show()这个函数传递的参数敲错了,function show ($val =null){,应该是$var ,你敲成$val

  • 异常代码
    2016-11-10 22:01:34

    数组参数写成值传递了,改成引用传递:
    preg_match($pattern,$subject,&$m1)

    异常代码

    我用你的代码测试不是null啊

    2016-11-12 01:46:04

    共 2 条回复 >

鬼斧神工之正则表达式

以PHP语言为蓝本,介绍正则表达式的基本语法以及他的强大用处

47865 学习 · 113 问题

查看课程

相似问题