php是一種解釋性語言,以<?php與?>作為php的開始標籤和結束標籤目錄伺服器只解析php標籤內的內容,不在php標籤內的內容直接返回給客戶端
注意:如果整個文件都是php**,則結束標籤?>可以省略
不同於c/c++,php變數型別是弱型別,它支援八種原始型別:
— 四種標量型別:
— 兩種復合型別:
— 兩種特殊型別:
php的變數以$起始,變數名依然可以用變數來代替。
<?php$name = "hello";
$$name = "world";
$$$name = "-----";
echo
$name; //
hello
echo "
";
echo
$hello; //
world
echo "
";
echo
$world; //
-----
在c++中可以直接以&來獲取變數存放的位址,php中也是用&來實現變數引用的,不同的是php中不能直接echo出變數存放的位址。
echo &$name; //錯誤的寫法
php直接報錯:parse error: syntax error, unexpected '&'
但是可以賦值給某個變數:
<?php//變數的引用
$a = 10;
echo
$a; //
10echo "
";
//echo &a; //錯誤:不能列印變數存放的位址
$b = &$a; //
變數b指向變數a的位址
echo
$b; //
10echo "
";
$b = 20;
echo
$b; //
20echo "
";
echo
$a; //
20, 改變b值也改變了a的值
echo "
";
引用關係的變數有以下特點:
乙個變數的值改變,另乙個變數的值也改變
使用unset()刪除某個變數,只是刪除該變數,並不會刪除另乙個變數
如果乙個變數重新引用另乙個變數,它會先解除當前引用,再指向另乙個變數
<?php$a = 10;
$b = &$a; //
變數b指向變數a的位址
unset($a); //
刪除變數a
if(isset($b
)) else
<?php$a = 10;
$b = &$a; //
變數b指向變數a的位址
$c = 30;
$a = &$c; //
變數a改變引用關係
echo
$b; //
10echo "
";
echo
$a; //
30echo "
";
全域性變數是在函式外部宣告的變數,可以在每個函式中使用,在函式體中使用全域性變數必須要用 global 宣告。如果沒有宣告為使用全域性變數,則該變數為區域性變數。但是例如 $_post , $_get 等變數預設都是全域性的,不需要global宣告。
<?php$name = "jack";
showname();
echo
$name; //
jack
function
showname()
一般區域性變數在呼叫函式結束時就會釋放,但靜態變數在函式執行完成不會釋放,而是等到指令碼執行完成才釋放。靜態變數使用 static 宣告
<?phpfunction
demo1()
demo1(); //1
demo1(); //
1 demo1(); //
1function
demo2()
demo2(); //1
demo2(); //
2 demo2(); //
3
常量與變數的不同之處:
<?php//語法:bool define(string name, mixed value [, bool case_insensitive])
define(root, "localhost");
echo root; //
localhost
php 向它執行的任何指令碼提供了大量的預定義常量。不過很多常量都是由不同的擴充套件庫定義的,只有在載入了這些擴充套件庫時才會出現,或者動態載入後,或者在編譯時已經包括進去了。 如數學擴充套件庫的常量 m_pi , m_e 等。
通常常量的值是不會改變的,但魔術常量不同,php提供了八個魔術常量,它們的值隨著它們在**中的位置改變而改變。例如__line__
名稱
說明__line__
檔案中的當前行號。
__file__
檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名。自 php 4.0.2 起,__file__
總是包含乙個絕對路徑(如果是符號連線,則是解析後的絕對路徑),而在此之前的版本有時會包含乙個相對路徑。
__dir__
檔案所在的目錄。如果用在被包括檔案中,則返回被包括的檔案所在的目錄。它等價於 dirname(__file__)。除非是根目錄,否則目錄中名不包括末尾的斜槓。(php 5.3.0中新增)
__function__
函式名稱(php 4.3.0 新加)。自 php 5 起本常量返回該函式被定義時的名字(區分大小寫)。在 php 4 中該值總是小寫字母的。
__class__
類的名稱(php 4.3.0 新加)。自 php 5 起本常量返回該類被定義時的名字(區分大小寫)。在 php 4 中該值總是小寫字母的。類名包括其被宣告的作用區域(例如 foo\bar)。注意自 php 5.4 起 __class__ 對 trait 也起作用。當用在 trait 方法中時,__class__ 是呼叫 trait 方法的類的名字。
__trait__
trait 的名字(php 5.4.0 新加)。自 php 5.4 起此常量返回 trait 被定義時的名字(區分大小寫)。trait 名包括其被宣告的作用區域(例如 foo\bar)。
__method__
類的方法名(php 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。
__namespace__
當前命名空間的名稱(區分大小寫)。此常量是在編譯時定義的(php 5.3.0 新增)。
變數與常量 PHP手冊筆記
php中的變數用乙個美元符號後面跟變數名來表示。變數名是區分大小寫的,並且出現中文可能也是合法的。變數預設總是傳值賦值。php也提供了另外一種方式給變數賦值 引用賦值。這意味著新的變數簡單的引用 換言之,成為其別名 或者 指向 了原始變數。改動新的變數將影響到原始變數,反之亦然。使用引用賦值,簡單地...
PHP 變數與常量
在程式執行的過程中,變數儲存的值可以隨時改變,而常量儲存的值是不可以改變的。變數用於儲存臨時資料資訊。某一變數被定義的時候,系統會自動為該變數分配乙個儲存空間存放變數的值。我們可以在定義變數的時候對其賦值,如果需要改動變數的值,只需再次對其進行賦值即可。對於那些臨時資料資訊或者處理過程,都可以存放在...
PHP 變數與常量
一 變數定義 顧名思義就是可變的量。在記憶體中隨機劃分乙個空間,指明資料型別,按照資料型別來存入值,這個整體稱為變數。二 資料型別 對變數儲存值的範圍進行劃分以加快存值取值的速度的標準。1 數值型 儲存整數的integer 小數的float 單精度浮點型 double 雙精度 浮點型 2 字元型 c...