按照一般程式編寫的思路,函式外的變數應該是可以看成全域性變數的,如果是全域性變數的話,那麼在函式中呼叫是完全沒有問題的。本文主要和大家分享php呼叫函式外的變數方法,希望能幫助到大家。
看來php和我們傳統的思路有點問題,那麼php中全域性變數是怎麼的呢,我特意編寫**試試看。
1.在外部用global定義直接輸出:global $mytext;
$mytext=」nihao」;
function chao_echo(){
echo $mytext;
chao_echo();
結果:沒有輸出。
2.用globals陣列輸出:global $mytext;
$mytext=」nihao」;
function chao_echo(){
echo $globals['mytext'];
chao_echo();
結果:輸出正常。
3.在函式內全域性申明函式外的變數:$mytext=」nihao」;
function chao_echo(){
global $mytext;
echo $mytext;
echo $globals['mytext'];
chao_echo();
結果:直接輸出或者用globals全域性陣列輸出都行。
4.將函式外部變數用引數傳遞進去:$mytext=」nihao」;function chao_echo($mytext){echo $mytext;
chao_echo($mytext);
結果:可以輸出。
總結一下,php中,函式內引用函式外的變數三種方法:
1.函式外global宣告,函式內使用$globals陣列引用。
2.函式內global宣告,函式內$globals陣列或者直接引用。
3.在呼叫函式的時候用乙個引數傳遞。
php引用變數
php引用變數 cow copy on write php變數在賦值的時候不會新開闢乙個記憶體空間,只有在變數有改變操作的時候才會開闢新的記憶體空間 定義變數a a range 0,10000 var dump memory get usage 將變數a賦值給變數b b a var dump mem...
php 引用變數
定義 不同變數名指向同一變數內容 位址 符號 定義變數 a,記憶體開闢乙個空間儲存 a a指向該空間 a a 定義變數 b,因為cow copy on write 特性,a,b都引向 a b a 如果改變 a的值,記憶體又開闢空間儲存,a指向該空間。此時 b還是指向原來的空間 a hello 可以使...
PHP引用變數
在php中引用意味著用不同的名字訪問同乙個變數內容使用 符號 定義變數 a range 0 100 var dump memory get usage int 399112 xdebug debug zval a a refcount 1,is ref 0 recount表示變數指向的記憶體位址引用...