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,請問各位大神我的代碼哪里錯了?謝謝
(返回的代碼應該是匹配到的兩個只包含數字的數組)
2018-11-24
show()這個函數傳遞的參數敲錯了,function show ($val =null){,應該是$var ,你敲成$val
2016-11-10
數組參數寫成值傳遞了,改成引用傳遞:
preg_match($pattern,$subject,&$m1)