PHP開(kāi)發(fā)編碼規(guī)範(fàn)
/ PHP引用的使用
PHP引用的使用
PHP引用的使用
引用在程序中使用比較多,為了公用同一個(gè)內(nèi)存,而不需要另外進(jìn)行復(fù)制,XXX環(huán)境下的引用使用時(shí),需要注意下面的情況;
在對(duì)函數(shù)的輸入?yún)?shù)中使用引用時(shí),不能在調(diào)用的時(shí)候在輸入?yún)?shù)前加&來(lái)引用,而直接使用該變量即可,同時(shí)必須在函數(shù)定義的時(shí)候說(shuō)明輸入?yún)?shù)來(lái)自引用,比如下面的代碼:
$a = 1; function ab(&$var){ $var ++; return $var; } $b = ab($a) // 注意,此處不能使用 $b = ab(&$a)的方式; echo $b.”/n”; echo $a.”/n”;
此時(shí) $a和$b都是2;
XXX環(huán)境下對(duì)引用的特殊要求源自php.ini文件里面的allow_call_time_pass_reference 項(xiàng)設(shè)置, 對(duì)外公開(kāi)的版本是 On ,這樣就可以支持&直接加到調(diào)用函數(shù)時(shí)變量前面進(jìn)行引用,但是這一方法遭到抗議,并可能在將來(lái)版本的PHP/Zend里不再支持。受到鼓勵(lì)的指定哪些參數(shù)按引用傳遞的方法是在函數(shù)聲明里。你被鼓勵(lì)嘗試關(guān)閉這一選項(xiàng)(使用 off,XXX的所有運(yùn)行環(huán)境下都是off)并確認(rèn)你的腳本仍能正常工作,以保證在將來(lái)版本的語(yǔ)言里它們?nèi)阅芄ぷ鳌?/p>