標籤:
目前,我們知道了幾個不同的規矩:
- 函數定義時後括弧裡面接的變數是形式上的參數(形參),與函數體外的變數沒有任何關係。僅僅是在函數內部執行
- 函數內聲明的變數也與函數外的變數沒關係。
但是,我們實際的處理情況中會遇到這樣的一個情況:
- 我想在函數體內定義的變數在函數體外用
- 我想把函數體外的變數拿到函數體內來使用
1.通過$GLOBLAS來讀取外部變數
<?php
$one = 10;
function demo(){
$two = 100;
$result = $two + $GLOBALS[‘one‘];
return $result;
}
//你會發現結果變成了110
echo demo();
?>
上例中:我們將函數體外的變數通過$GLOBALS拿到了函數體使用。所以,打破了函數外的變數不能在函數體內使用的限定。
2.通過$GLOBLAS,在函數內修改外部變數
<?php
$pangsir = ‘我是一個兵,來自老百姓‘;
function test(){
echo ‘執行了函數test喲<br />‘;
//調用test()函數,將通過$GLOBALS[‘pangsir‘],把$pangsir 的值改變掉
$GLOBALS[‘pangsir‘] = ‘協助別人很快樂‘;
}
test();
//發現是不是輸出的值變了呀?
echo $pangsir;
?>
通過上例:我們發現通過GLOBALS[′pangsir′],把GLOBALS[′pangsir′],把pangsir 的值改變掉,所以在最後輸出$pangsir 的時候,值發生了變化。
3.通過$GLOBLAS,在函數內建立全域變數
<?php
function hello(){
$GLOBALS[‘que‘] = ‘提神喝茶更好喲‘;
echo ‘你調了一下函數hello<br />‘;
}
hello();
echo $que;
?>
來自為知筆記(Wiz)
前端PHP入門-013-變數範圍