PHP 变量和常量:变量的命名 1 个改进

问题

我们在 PHP 编程中,使用变量是不可避免的,那么我们在 PHP 代码中如何正确地命名一个变量呢?

说明

在 PHP 编程中,我们如果要使用一个 PHP 变量,我们必须遵循以下 PHP 变量命明规则:

  1. 变量以 $ 符号开头,其后是变量的名称;
  2. 变量名必须以字母或下划线开头;
  3. 变量名不能以数字开头;
  4. 变量名只能包含字母数字字符和下划线(A-z0-9 以及 _);
  5. 变量名对大小写敏感($y$Y 是两个不同的变量);
  6. 变量在被创建之后,必须在被赋值之后才可以使用。

示例

例 1 —— 非法的变量名:

<?php

$110tel = '123';

运行结果:

Parse error: syntax error, unexpected '110' (T_LNUMBER), expecting variable (T_VARIABLE) or '{' or '$' in F:\index.php on line 3

从运行结果可以看出,以数字作为开头命名变量在 PHP 中是不被允许的。

例 2 —— 使用未赋值变量

<?php
$name;

echo "My name is $name";    // 使用未初始化的变量会产生 E_NOTICE 错误

运行结果:

Notice: Undefined variable: name in F:\workplace\php\variance_1.php on line 5
My name is

从运行结果可以看出,如果我们要正确使用一个变量必须先对其进行赋值,否则 PHP 会提示该变量未定义。

例 3 —— 合法的变量名

在本例,我们可以看看哪些是合法的变量名:

<?php

$englishName = 'Anna';

$中文名 = '安娜';

echo "$englishName 的中文名叫 $中文名 <br>";

$var123 = 123;

echo "\$var123 = $var123 <br>";

$total_price = 23.456;

echo "一斤葡萄的价格是:$total_price 元 <br>";

$_today = "2019-05-19 <br>";

echo "今天是:$_today";

运行结果:

Anna 的中文名叫 安娜
$var123 = 123
一斤葡萄的价格是:23.456 元
今天是:2019-05-19

例 3 中展示了一些合法的变量名,我们可以看到,中文变量名(每个字节的码值都在 0x80-0xff 范围内)也是受支持的(不推荐)。

例 4 —— 区分大小写的

<?php

$color = 'red';

$Color = 'green';

$COLOR = 'blue';

echo "color 是 $color <br>";

echo "Color 是 $Color <br>";

echo "COLOR 是 $COLOR";

运行结果:

color 是 red
Color 是 green
COLOR 是 blue

在例 4 中用单词 color 定义了三个变量,尽管是同一个单词,但变量名的大小写不同决定了它们是不同的变量。

提示

一类常见的 bug 就是由变量名大小写拼写错误引发的,所以在实际 PHP 编程中我们必须规范我们编程习惯。

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!