A. php 裡面在函數外面聲明 global 起到什麼作用在看wordpress源碼的時候看到的
你好,global是個變數標識符,它後面可以聲明若干個變數為全局變數,結合你的上述截圖,那幾個作為全局變數的版本號已經在別處定義了,想在此使用。
全局變數與局部變數相對應,局部變數僅在某一節代碼中有效,建議你查看下php的官方文檔(有簡體中文版)或者w3school等比較權威的文檔,那裡的說法更科學。
祝愉快!
B. PHP中全局變數global和$GLOBALS的區別分析
1、global
Global的作用是定義全局變數,但是這個全局變數不是應用於整個網站,而是應用於當前頁面,包括include或require的所有文件。
但是在函數體內定義的global變數,函數體內可以使用,在函數體外定義的global變數不能在函數體內使用
2、$GLOBALS
在 $GLOBALS 數組中,每一個變數為一個元素,鍵名對應變數名,值對應變數的內容。$GLOBALS 之所以在全局范圍內存在,是因為
$GLOBALS 是一個超全局變數。注意$GLOBALS 的寫法,比如變數$a1,寫法為$GLOBALS['a1']。
總結:
1.$GLOBALS['var']是外部的全局變數本身
2.global $var是外部$var的同名引用或者指針
C. 請教php global的用法
<?
$var = 100;
function fun1(){
echo($var);
}
function fun2(){
global $var;
echo($var);
}
?>
你嘗試分別調用fun1和fun2就知道了,fun1中因為沒有使用global,所以無法使用在外部定義的$var的值,所以輸出地是一個空值,而fun2聲明了global,即把$var視為一個全局變數來調用,那麼fun2中就可以獲得$var的值,那麼輸出的是「100」
至於你給的第一段代碼,這個是無效的,global只在函數或者類方法內部可用,在外部使用則不會有任何效果,PHP依然把它當做一個普通變數來使用。
還有一種進階的用法:
<?php
function fun(){
global $var;
$var = 100;
}
fun();
echo($var);
?>
將會輸出100,這里,$var只在fun中使用,但是因為使用了global定義為了全局變數,因此在函數外部也可以使用,靈活使用一下,其實還有更多用法。不過全局變數還是盡可能少用,會讓你的代碼混亂不堪的
D. PHP中global 什麼是什麼功能
在php中,如果在函數中使用全局變數,php會認為這個變數沒有定義。如果我們需要在函數內部使用這個全局變數,這時我們就需要在函數內部,這個全局變數前加關鍵字global。
<?php
$str="string";
functiontest()
{
if(isset($str))
{
echo"thestringisdefined";
}
else
{
echo"thestringisundefined";
}
}
test();
?>
這是在瀏覽器中的運行結果:
thisstringisundefined
<?php
$str="string";
functiontest()
{
global$str;//上面的test函數中沒有這句話
if(isset($str))
{
echo"thestringisdefined";
}
else
{
echo"thestringisundefined";
}
}
test();
?>
瀏覽器中的運行結果:
this string is defined
E. 關於php函數里聲明了global卻沒使用,那它的作用是啥
首先你這個函數中出現global就是多餘的,$_SERVER本來就是全局函數了
global的作用?
這個是與變數的影響作用范圍有關
假設一個頁面
創建一個A變數,這個變數可以作用在整個頁面的,但是如果這個頁面有函數且函數需要用這個變數,就需要在函數內將A聲明為全局變數才可使用
$a = 'xxx';
//正確寫法
function test(){
global $a;
echo $a;
}
F. php關鍵字GLOBAL在函數外使用起什麼作用
在函數體內定義的global變數,函數體外可以使用,在函數體外定義的global變數不能在函數體內使用。