php學習筆記 變數與常量

2022-08-10 11:21:09 字數 3719 閱讀 1786

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  宣告

<?php        

function

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...