Php 简明教程
PHP - Variables
PHP 中的变量是一个命名内存位置,它保存属于某种数据类型的数据。
-
PHP 使用美元符号 ($) 前缀变量名称的惯例。
-
PHP 中的变量名称区分大小写。
-
变量名称遵循与 PHP 中其他标签相同的规则。有效的变量名称以字母或下划线开头,后面跟任意数量的字母、数字或下划线。
-
根据命名约定,“$name”、“$rate_of_int”、“$Age”、“$mark1”是 PHP 中的 valid variable names 示例。
-
Invalid variable names: “name”(没有$前缀)、“$rate of int”(不允许空格)、“$Age#1”(无效字符#)、“$11”(名称不是以字母开头)。
变量使用“=”运算符赋值,左侧是变量,右侧是要计算的表达式。
No Need to Specify the Type of a Variable
PHP 是一种动态类型语言。不需要指定变量的类型。相反,变量的类型由分配给它的值决定。变量的值是其最近赋值的值。
看看下面的 example −
<?php
$x = 10;
echo "Data type of x: " . gettype($x) . "\n";
$x = 10.55;
echo "Data type of x now: " . gettype($x) . "";
?>
它将生成以下 output −
Data type of x: integer
Data type of x now: double
Automatic Type Conversion of Variables
当有必要时,PHP 会很好地自动将类型从一种转换为另一种类型。在下面的代码中,PHP 将字符串变量“y”转换为“int”,对另一个整数变量执行加法,并将结果打印为 30。
看看下面的 example −
<?php
$x = 10;
$y = "20";
echo "x + y is: ", $x+$y;
?>
它将生成以下 output −
x + y is: 30
Variables are Assigned by Value
在 PHP 中,变量始终按值分配。如果将表达式分配给变量,则原始表达式的值将被复制到其中。如果分配后表达式中任何变量的值发生变化,它不会对分配的值产生任何影响。
<?php
$x = 10;
$y = 20;
$z = $x+$y;
echo "(before) z = ". $z . "\n";
$y=5;
echo "(after) z = ". $z . "";
?>
它将生成以下 output −
(before) z = 30
(after) z = 30
Assigning Values to PHP Variables by Reference
您还可以通过引用方式将值分配给 PHP 变量。在这种情况下,新变量仅引用或成为原始变量的别名或指向原始变量。新变量的更改会影响原始变量,反之亦然。
要按引用分配,只需在正在分配的变量(源变量)的开头添加一个和号 (&)。
看看下面的 example −
<?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 . "";
?>
它将生成以下 output −
x=10 y=10 z = 20
x=20 y=20 z = 40