PHP 中的变量本质上是灵活多变的,可以为一个变量赋值、在变量中检索数据(而不影响变量的值)、为变量赋新的值,以及在需要的时候进行循环。但是 PHP 中的变量也是临时的,它们只存在于一个脚本的执行期间。当脚本的最后一个 PHP 标签被执行过后,这些变量也就不存在了。例如,当用户单击一个链接或者提交表单时,将获得一个新的页面,同时这些变量也将不复存在。
变量语法
创建正确的变量名,必须遵循以下规则:
- 所有的变量名必须以美元符号($)开头;
- 在美元符号后的第一个字符必须为字母(A~Z,a~z)或者下划线(_),不能使用数字;
- 变量名剩下的部分可以包含任何数量的字母、数字和下划线组合;
- 变量名中不能出现空格(通常使用下划线进行文字分隔);
- 变量名必须唯一;
- 变量名是区分大小写的。这意味着 $variable 和 $Variable 是截然不同的变量,因此将两个变量进行如此相似的命名是非常不明智的。
最后也是最重要的一点:PHP 中的变量名是区分大小写的。使用错误的大小写字母是导致 bug 发生的常见原因。
变量类型
PHP 主要有 4 种变量类型,分别是数值型、字符串型、数组型和对象。
数值
从技术上讲,在 PHP 中数值类型分为两种:整型和浮点型(也被称为双精度浮点型)。因为 PHP 对于变量的处理方式相对随意,所以不会阻止对两种类型的数值进行同样的处理。
数值的第一种类型是整型,同整数一样。它们可以是正数或者负数,但是不能包含有分数或者小数部分。带有小数点的数值(就像 1.0)是浮点型。必须使用浮点型的数值来表示分数,由于在 PHP 中表示分数的唯一方式就是将之转换为等价的小数。
字符串
一个字符串是一对单引号(')或者双引号(")引用的任意数量的字符。字符串能够包含字 母、数字、符号和空格的任何组合,它还能够包含变量。
下面是有效字符串的示例:
"Hello, world!" "Hello, $first_name!" "1/3" 'Hello, world! How are you today?' "08.02.06" "1996" ''
数组
字符串和数值类型(都被称之为标量)只包含一个值,数组可以被赋予多个值,可以认为数组是值的列表。换句话说,可以在一个数组中放置多个字符串和/或数值。
数组使用键来创建和检索它们保存的值,其结果构成为一系列键-值对,看上去像是一个两 列的数据表。有趣的是,在 PHP 中的数组结构非常灵活,它的键和值都可以使用数值或者字符串类型。数组甚至不必在此方面保持一致性。
为变量赋值
在为变量赋值时,可以忽略变量的类型,使用等号(=)给变量赋值。因此,等号被称作为赋值运算符,并且变量在赋值运算符左边,而被赋的值在右边。
$number = 1;
$floating_number = 1.2;
$string = "Hello, world!";
每一行都是一个完整的赋值语句(即一个可执行的动作),每一句结尾都要有一个分号。
打印变量值,可以使用 print 函数:
print $number;
print $string;