PHP 在 function 中存取全域變數

還蠻特別的。

簡述

PHP 跟 JavaScript 一樣有全域變數跟區域變數,條件也很類似:

  • 宣告在 function 裡面的 = 區域變數,只能在 functino 裡面存取,functino 結束後就摧毀。
  • 宣告在 function 外面的 = 全域變數,可以在整個 script 裡存取,離開 script 就被摧毀。

跟 JavaScript 不同的地方在於 function 無法直接存取全域變數,必須先做一個動作,看範例:

1
2
3
4
5
6
7
<?php
$globalA = 'A';
function local() {
echo $globalA; // Warning: Undefined variable $globalA
}
local()
?>

正確的做法:

1
2
3
4
5
6
7
8
<?php
$globalA = 'A';
function local() {
global $globalA;
echo $globalA; // 'A'
}
local()
?>

要在 function 內存取全域變數,必須先用 global 來宣告才可以用。

PHP 內建的 session 方法 mentor-program-day55
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×