Php全域性變數和區域性變數
阿新 • • 發佈:2019-02-12
程式碼1:函式內部使用函式外部變數錯誤方法
<?php
$name = 'fish';
function animal() {
echo $name;
}
animal();
執行結果:Notice: Undefined variable: name in D:\wamp\www\index.php on line 5
由此得知,animal()方法中的
如何才能在函式內部訪問到函式外部的變數呢?可以在函式內部或者外部將
程式碼2:函式內部使用函式外部變數正確方法
<?php
$name = 'fish';
function animal() {
global $name;
echo $name;
}
animal();
或
<?php
global $name;
function animal() {
$name = 'fish';
echo $name;
}
animal();
執行結果:fish
那麼,如果$name變數是在函式內部定義的,能夠在函式外部或者別的函式中使用到嗎?答案是顯而易見的,不能,這就是區域性變數,可以看下下面的程式碼段:
程式碼3:函式外部使用函式內部變數錯誤方法
<?php
function animal() {
$name = 'fish';
}
echo $name;
執行結果:Notice: Undefined variable: name in D:\wamp\www\index.php on line 6
$name變數只能在animal()函式內部有意義。問題來了,如果我非要想在函式外部也能使用到函式內部定義的變數該怎麼辦?
“可以在函式內部定義變數時將其宣告為global”,請看如下程式碼段:
程式碼4:函式外部使用函式內部變數正確方法
<?php
function animal() {
global $name;
$name = 'fish';
}
animal();
echo $name;
執行結果:fish
可以看到,我們先執行了animal()方法,然後再使用