深入理解PHP中的global

2022-10-06 11:54:11 字數 772 閱讀 6843

一、實現原理

在php的函式中,global語法是比較常見的,大家一定都知道一旦在函式中global了某個外部變數後,這個變數就可以在這個函式中使用了,但是也有不少網友不知道這程式設計客棧是乙個什麼實現原理。現在上乙個例子,大家一看就知道了:

複製** **如下:

$globalstr = '.net';

function globaltest()

test();

echo $var1;

?>

結果是 3。因為是同名引用。

複製** **程式設計客棧如下:

$var1 = 1;

$var2 = 2;程式設計客棧

function test()

test();

echo $var1

?>

結果是1。因為在函式內的$var1經過賦值後與$var2具有相同的引用了。進一步看下面的**。

複製** **如下:

<?php  

$var1 = 1;   

$var2 = 2;   

function test_global()&nctdpjbsgynbsp;  

test_global();   

echo $var1;   

echo $var2;

?>

結果是1和7。因為在函式內的$var1與$var2具有相同的引用。因此改變了$var1的值,$var2的值夜作了改變。

本文標題: 深入理解php中的global

本文位址:

深入理解php核心

第二章 使用者 的執行 第三節 zend引擎與指令碼執行 第四節 小結 第三章 變數及資料型別 第二節 常量 第三節 預定義變數 第四節 靜態變數 第五節 型別提示的實現 第六節 變數的生命週期 第七節 資料型別轉換 第八節 小結 第四章 函式的實現 第二節 函式的定義,引數及返回值 第三節 函式的...

深入理解php核心

第二章 使用者 的執行 第三節 zend引擎與指令碼執行 第四節 小結 第三章 變數及資料型別 第二節 常量 第三節 預定義變數 第四節 靜態變數 第五節 型別提示的實現 第六節 變數的生命週期 第七節 資料型別轉換 第八節 小結 第四章 函式的實現 第二節 函式的定義,引數及返回值 第三節 函式的...

深入理解PHP中的陣列 Array

很好的一篇講解php陣列的博文,詳細講解了php中陣列與其他語言的差別,核心如何實現陣列,陣列的遍歷,另外還分析了網上廣為謬傳的foreach比for效能好的說法。我自己也測試了下foreach和for的效能,在php 5.3 和5.4版本下,不管遍歷時是否改寫陣列,還是foreach時用引用方式,...