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
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
(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
x=20 y=20 z = 40
变量范围
变量范围可以定义为变量对声明它的程序的可用性范围。PHP 变量可以是以下四种范围类型之一 -
变量命名
命名变量的规则是 -
- 变量名称必须以字母或下划线字符开头。
- 变量名称可以由数字、字母、下划线组成,但不能使用 + 、 - 、 % 、 ( 、 ) 等字符。& 等
- 变量没有大小限制。