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 变量可以是四种作用域类型之一 -

变量命名

变量命名规则为 -

  • 变量名称必须以字母或下划线字符开头。

  • 变量名称可以包含数字、字母、下划线,但不能使用诸如 + 、 - 、 % 、 ( 、 ) . & 等字符。

变量没有大小限制。

广告