鍍金池/ 問(wèn)答/PHP/ 不懂就問(wèn), 為什么像 exec(),preg_match_all() 這類(lèi)的方法

不懂就問(wèn), 為什么像 exec(),preg_match_all() 這類(lèi)的方法中參數(shù)不用聲明變量就有輸出?

比如:

$str = '123123';
preg_match_all('/(\d*)/', $str, $arr);
var_dump($arr);

或:

exec("date", $output);
var_dump($output);

這樣的沒(méi)有聲明 $output,和 $arr 一樣能輸出? 這其中的原因是什么?

補(bǔ)充一下

<?php
var_dump($res);   // 會(huì)報(bào)錯(cuò),變量不存在

//而
function test(&$a){
        $a++;
}

test($a);
echo $a;   // 正常輸出 1% 
回答
編輯回答
撿肥皂

php里變量使用前并不需要聲明,對(duì)于傳地址的輸出變量來(lái)說(shuō),如果不使用初值的話,初始化也是沒(méi)有必要的.

參見(jiàn)
http://php.net/manual/en/lang...

2018年2月11日 08:18
編輯回答
脾氣硬

你也可以啊

function fun($a,&$b)
{
    $b = $a;
}
fun(1,$x);
var_dump($x);
2018年1月15日 07:13