PHP - 變數



PHP 中的變數是一個命名的記憶體位置,它儲存屬於其中一種資料型別的資料。

  • PHP 使用在變數名稱前加美元符號 ($) 的約定。

  • PHP 中的變數名稱區分大小寫。

  • PHP 中的變數名稱遵循與其他標籤相同的規則。有效的變數名稱以字母或下劃線開頭,後跟任意數量的字母、數字或下劃線。

  • 根據命名約定,“$name”、“$rate_of_int”、“$Age”、“$mark1” 是 PHP 中有效變數名稱的示例。

  • 無效變數名稱:“name”(沒有 $ 字首),“$rate of int”(不允許使用空格),“$Age#1”(無效字元 #),“$11”(名稱未以字母開頭)。

變數使用“=”運算子賦值,左側為變數,右側為要計算的表示式。

無需指定變數的型別

PHP 是一種動態型別語言。無需指定變數的型別。相反,變數的型別由分配給它的值決定。變數的值是其最近一次賦值的值。

請檢視以下示例 -

<?php
   $x = 10;
   echo "Data type of x: " . gettype($x) . "\n";

   $x = 10.55;
   echo "Data type of x now: " . gettype($x) . "";
?>

它將產生以下輸出 -

Data type of x: integer
Data type of x now: double

變數的自動型別轉換

PHP 在必要時可以很好地自動將型別從一種轉換為另一種。在以下程式碼中,PHP 將字串變數“y”轉換為“int”以執行與另一個整數變數的加法並列印 30 作為結果。

請檢視以下示例 -

<?php
   $x = 10;
   $y = "20";

   echo "x + y is: ", $x+$y;
?>

它將產生以下輸出 -

x + y is: 30

變數按值賦值

在 PHP 中,變數始終按值賦值。如果將表示式分配給變數,則原始表示式的值將複製到其中。如果表示式中任何變數的值在賦值後發生更改,則不會對分配的值產生任何影響。

<?php
   $x = 10;
   $y = 20;
   $z = $x+$y;
   echo "(before) z = ". $z . "\n";

   $y=5;
   echo "(after) z = ". $z . "";
?>

它將產生以下輸出 -

(before) z = 30
(after) z = 30

按引用方式為 PHP 變數賦值

您還可以使用按引用方式為 PHP 變數賦值。在這種情況下,新變數僅引用或成為原始變數的別名或指向原始變數。對新變數的更改會影響原始變數,反之亦然。

要按引用賦值,只需在要賦值的變數(源變數)的開頭新增一個取地址符 (&)。

請檢視以下示例 -

<?php
   $x = 10;
   $y = &$x;
   $z = $x+$y;
   echo "x=". $x . " y=" . $y . " z = ". $z . "\n";

   $y=20;
   $z = $x+$y;
   echo "x=". $x . " y=" . $y . " z = ". $z . "";
?>

它將產生以下輸出 -

x=10 y=10 z = 20
x=20 y=20 z = 40

變數作用域

作用域可以定義為變數在其宣告的程式中具有的可用範圍。PHP 變數可以是四種作用域型別之一 -

變數命名

變數命名規則為 -

  • 變數名稱必須以字母或下劃線字元開頭。

  • 變數名稱可以包含數字、字母、下劃線,但不能使用諸如 + 、 - 、 % 、 ( 、 ) . & 等字元。

變數沒有大小限制。

廣告