为了账号安全,请及时绑定邮箱和手机立即绑定

PHP正则表达式preg_match输出问题

<?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 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

无所畏惧小小小 提问者

亲,按照你说的改了,报错,提示&属于异常字符
2016-11-11 回复 有任何疑惑可以回复我~
#2

异常代码

我用你的代码测试不是null啊
2016-11-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
鬼斧神工之正则表达式
  • 参与学习       47824    人
  • 解答问题       112    个

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

进入课程

PHP正则表达式preg_match输出问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信