LeoYao 4年前

修改理由:

内容尚空

此投稿已在 4年前 合并。

内容修改:

红色背景 为原始内容

绿色背景 为新增或者修改的内容

OldNewDifferences
1 
 1## 问题
 2
 3我们在 PHP 编程中,使用变量是不可避免的,那么我们在 PHP 代码中如何正确地命名一个变量呢?
 4
 5## 说明
 6
 7在 PHP 编程中,我们如果要使用一个 PHP 变量,我们必须遵循以下 PHP 变量命明规则:
 8
 91. 变量以 `$` 符号开头,其后是变量的名称;
 102. 变量名必须以字母或下划线开头;
 113. 变量名不能以数字开头;
 124. 变量名只能包含字母数字字符和下划线(`A-z`、`0-9` 以及 `_`);
 135. 变量名对大小写敏感(`$y` 与 `$Y` 是两个不同的变量);
 146. 变量在被创建之后,必须在被赋值之后才可以使用。
 15
 16## 示例
 17
 18### 例 1 —— 非法的变量名:
 19
 20```php
 21<?php
 22
 23$110tel = '123';
 24```
 25
 26运行结果:
 27
 28```
 29Parse error: syntax error, unexpected '110' (T_LNUMBER), expecting variable (T_VARIABLE) or '{' or '$' in F:\index.php on line 3
 30```
 31
 32从运行结果可以看出,以数字作为开头命名变量在 PHP 中是不被允许的。
 33
 34### 例 2 —— 使用未赋值变量
 35
 36```php
 37<?php
 38$name;
 39
 40echo "My name is $name";   // 使用未初始化的变量会产生 E_NOTICE 错误
 41```
 42
 43运行结果:
 44
 45```
 46Notice: Undefined variable: name in F:\workplace\php\variance_1.php on line 5
 47My name is
 48```
 49
 50从运行结果可以看出,如果我们要正确使用一个变量必须先对其进行赋值,否则 PHP 会提示该变量未定义。
 51
 52### 例 3 —— 合法的变量名
 53
 54在本例,我们可以看看哪些是合法的变量名:
 55
 56```php
 57<?php
 58
 59$englishName = 'Anna';
 60
 61$中文名 = '安娜';
 62
 63echo "$englishName 的中文名叫 $中文名 <br>";
 64
 65$var123 = 123;
 66
 67echo "\$var123 = $var123 <br>";
 68
 69$total_price = 23.456;
 70
 71echo "一斤葡萄的价格是:$total_price 元 <br>";
 72
 73$_today = "2019-05-19 <br>";
 74
 75echo "今天是:$_today";
 76```
 77
 78运行结果:
 79
 80```
 81Anna 的中文名叫 安娜
 82$var123 = 123
 83一斤葡萄的价格是:23.456 元
 84今天是:2019-05-19
 85```
 86
 87例 3 中展示了一些合法的变量名,我们可以看到,中文变量名(每个字节的码值都在 0x80-0xff 范围内)也是受支持的(不推荐)。
 88
 89### 例 4 —— 区分大小写的
 90
 91```php
 92<?php
 93
 94$color = 'red';
 95
 96$Color = 'green';
 97
 98$COLOR = 'blue';
 99
 100echo "color 是 $color <br>";
 101
 102echo "Color 是 $Color <br>";
 103
 104echo "COLOR 是 $COLOR";
 105```
 106
 107运行结果:
 108
 109```
 110color 是 red
 111Color 是 green
 112COLOR 是 blue
 113```
 114
 115在例 4 中用单词 `color` 定义了三个变量,尽管是同一个单词,但变量名的大小写不同决定了它们是不同的变量。
 116
 117## 提示
 118
 119一类常见的 `bug` 就是由变量名大小写拼写错误引发的,所以在实际 PHP 编程中我们必须规范我们编程习惯。
 120
 121## 参考
 122
 123* [Variables](https://www.php.net/manual/en/language.variables.basics.php)