變量是存儲信息的容器php
註釋:PHP 變量名稱對大小寫敏感!程序員
PHP 沒有建立變量的命令。數組
變量會在首次爲其賦值時被建立:函數
<?php $txt="Hello world!"; $x=5; $y=10.5; ?>
以上語句執行後,變量 txt 會保存值 Hello world!,變量 x 會保存值 5,變量 y 會保存值 10.5spa
註釋:若是您爲變量賦的值是文本,請用引號包圍該值code
在上面的例子中,請注意咱們沒必要告知 PHP 變量的數據類型。作用域
PHP 根據它的值,自動把變量轉換爲正確的數據類型。io
在諸如 C 和 C++ 以及 Java 之類的語言中,程序員必須在使用變量以前聲明它的名稱和類型。function
在 PHP 中,能夠在腳本的任意位置對變量進行聲明class
變量的做用域指的是變量可以被引用/使用的那部分腳本
PHP 有三種不一樣的變量做用域:
函數以外聲明的變量擁有 Global 做用域,只能在函數之外進行訪問;
函數內部聲明的變量擁有 LOCAL 做用域,只能在函數內部進行訪問
global 關鍵詞用於訪問函數內的全局變量。
要作到這一點,請在(函數內部)變量前面使用 global 關鍵詞:
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 輸出 15
?>
PHP 同時在名爲 $GLOBALS[index] 的數組中存儲了全部的全局變量。下標存有變量名。這個數組在函數內也能夠訪問,並可以用於直接更新全局變量。
上面的例子能夠這樣重寫:
<?php
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 輸出 15
?>
一般,當函數完成/執行後,會刪除全部變量。不過,有時我須要不刪除某個局部變量。實現這一點須要更進一步的工做。
要完成這一點,請在您首次聲明變量時使用 static 關鍵詞:
<?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
而後,每當函數被調用時,這個變量所存儲的信息都是函數最後一次被調用時所包含的信息。
註釋:該變量仍然是函數的局部變量。