PHP學習 變數

2021-07-26 06:51:51 字數 1893 閱讀 3319

距離上次寫php的環境配置的文章已經過去不知道多久了,中途發生了一些事情,導致我暫時將php的學習給落下了,趁著快過年了,有那麼些私人時間,繼續學習php。廢話不多說,現在就繼續記錄一下php的變數。

變數可以是很短的名稱(如 x 和 y)或者更具描述性的名稱(如 age、carname、totalvolume)。

下面我們就用乙個例子來說明一下

<?php 

$txt = "hello php!";//當給賦乙個文字值給變數時,需在文字值兩側加上引號。

$x = 1;

$y = 2.5;

?>

事實上,我們可以通過例子看出來,跟oc不一樣的是,我們是不必向 php 宣告該變數的資料型別,php 會根據變數的值,自動把變數轉換為正確的資料型別。這一點讓我寫的還是有點不太習慣的。也更加不習慣這個「$」符號。

php 有四種不同的變數作用域:

區域性和全域性作用域

在所有函式外部定義的變數,擁有全域性作用域。除了函式外,全域性變數可以被指令碼中的任何部分訪問,要在乙個函式中訪問乙個全域性變數,需要使用 global 關鍵字。

在 php 函式內部宣告的變數是區域性變數,僅能在函式內部訪問,例如:

<?php 

$x = 5; // 全域性變數

function

mytest

()

mytest();

echo

"測試函式外變數:";

echo

"x === $x

"; echo

"y === $y";

?>

執行上面的**後,我們可以看到,輸出了這樣的一堆東西,

php global 關鍵字(global 關鍵字用於函式內訪問全域性變數。)

在函式內呼叫函式外定義的全域性變數,我們需要在函式中的變數前加上 global 關鍵字,例如:

<?php 

$x = 5;

$y = 10;

function

mytest

()mytest();

echo

$y; // 輸出 15

?>

小貼士:php 將所有全域性變數儲存在乙個名為 $globals[index] 的陣列中。 index 儲存變數的名稱。這個陣列可以在函式內部訪問,也可以直接用來更新全域性變數。所以上面的**我們可以這樣寫:

<?php 

$x = 5;

$y = 10;

function

mytest

() mytest();

echo

$y;?>

static 作用域

當乙個函式完成時,它的所有變數通常都會被刪除。然而,有時候我們希望某個區域性變數不要被刪除。這個時候呢,我們就需要用到 static 關鍵字 例如:

<?php 

function

mytest

()mytest(); //輸出 0

mytest(); //輸出 1

mytest(); //輸出 2

?>

引數作用域

引數是通過呼叫**將值傳遞給函式的區域性變數。

引數是在引數列表中宣告的,作為函式宣告的一部分 例如:

<?php 

function

mytest

($x)

mytest(5);

?>

PHP 變數學習

學習程式語言,必須對變數有認識,認識越深刻,就也有利於對程式的深刻認識。php中的變數雖然有自己的特點,但本質上和其他語言的變數是一樣的。變數的宣告和賦值 num 有點詭異,單純宣告變數不需要像c語言那樣前面放上int string等,奇怪的是,放上反而出錯。不用管了,php習慣上都是宣告和賦值是一...

PHP學習 變數

php變數以 符號開始,後面跟著變數的名稱 在所有函式外部定義的變數,擁有全域性作用域。除了函式外,全域性變數可以被php檔案中任何部分訪問,若想在函式中訪問全域性變數,需要在函式中使用global關鍵字。x 5 y 10 function mytest mytest echo y 輸出結果15當函...

PHP學習(變數)

1 第乙個字元必須是 2 後的第乙個字元必須是 字母 或 下劃線 3 其他字元可以是 字母,數字,下劃線 4 區分大小寫 5 可以隨意轉化型別 4個 標量資料型別 標量資料是指只有乙個值的資料 2個組合型別,2個特殊的資料型別 integer 整數 5 float 浮點 5.5 string 字串 ...