$p 你是否曾經納悶在一個函數內定義的變量,卻在其他函數中無法訪問?這時可以使用$globals全局變量來解決問題。$globals是一種在函數外定義變量,可以在函數內部和外部訪問的方法。下面我們來了解一下$globals的使用方法。
$p 在函數外定義$globals變量需要在前面加上一個‘$’符號,在函數內部使用時需要加上一個‘global’關鍵字來表示這是一個全局變量。例子如下:
$g = 'hello'; function test(){ global $g; echo $g; } test(); //輸出:hello$p 上述代碼中,我們在函數外定義了$g全局變量,并在函數內使用‘global $g’來表示這是一個全局變量。在調用test()函數時輸出了$g的值。 $p 除了可以定義字符串類型的變量,$globals也可以用于定義數組和對象類型的變量,在函數內部使用時同樣需要添加‘global’關鍵字來表示全局變量。代碼示例如下:
$my_array = array('apple','banana','orange'); function test(){ global $my_array; echo $my_array[0]; //輸出:apple } test();$p 上述代碼中,我們在函數外定義了一個數組類型的全局變量$my_array,并在函數內使用了‘global $my_array’來表示這是一個全局變量,打印出了數組中第一個元素的值。 $p $globals也可以用于定義一個全局的對象變量。同樣需要在函數內部使用‘global’關鍵字來表示全局變量。代碼示例如下:
class Person{ public $name; public $age; } $person = new Person(); $person->name = 'Tom'; $person->age = 18; function test(){ global $person; echo $person->name; //輸出:Tom echo $person->age; //輸出:18 } test();$p 上述代碼我們在函數外定義了一個Person類的實例對象$person,并在函數內設定為全局變量。在調用test()函數時輸出person對象的屬性name和age的值。結果為Tom和18。 $p $globals的使用可以方便我們在不同的函數中共享同一個變量。但另一方面也容易導致變量被意外修改或污染,所以在使用時需要注意全局變量的范圍和安全性。
下一篇$globas php