PHP - 变量



PHP 中的变量是一个命名的内存位置,它保存属于其中一种数据类型的数据。

  • PHP 使用在变量名称前加上美元符号 ($) 的约定。
  • PHP 中的变量名称区分大小写。
  • 变量名称遵循与 PHP 中的其他标签相同的规则。有效的变量名称以字母或下划线开头,后跟任意数量的字母、数字或下划线。
  • 根据命名约定,“$name”、“$rate_of_int”、“$Age”、“$mark 1” 是 PHP 中有效变量名称的示例。
  • 无效的变量名称:“name” (没有 $ 前缀), “int 的$rate” (不允许空格), “$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 变量可以是以下四种范围类型之一 -

变量命名

命名变量的规则是 -

  • 变量名称必须以字母或下划线字符开头。
  • 变量名称可以由数字、字母、下划线组成,但不能使用 + 、 - 、 % 、 ( 、 ) 等字符。& 等
  • 变量没有大小限制。