PHP Manual
/
变量

编写变量的原则

16. 02. 2020

Obsah článku

这是PHP系列教程的第二部分。在这一集里,我们将看一下编写变量的基本规则。

本页只是一个快速概述。如果你想了解所有功能的详细技术描述,我已经写了一篇独立的文章

基本语法

PHP中的变量以美元符号$开头,后面紧跟名称。

$zvire = '猫';

字符串(字符序列)用引号或撇号括起来。

$a = "引号";
$b = '撇号';

数字不包括在引号内。

$a = 5;
$b = 10;
$c = 3.14159;

变量名称只能由英文字母和数字组成。名字总是以一个字母开头。

如果名字由一个以上的词组成,习惯上使用camelCase语法(第一个字母小写,其他每个词都以大写字母开始)。

$kocka = '姬蒂';
$rychlyPocitac = '当然是我的!';
$pocetRohuJednorozce = 1;

该名称不得包含空格、破折号、钩号、逗号、引号、括号或其他特殊字符。唯一允许的特殊字符是 "下划线"。

小数的数字应以句号书写。

$pi = 3.14159;

在定义一个变量时,直接进行数学运算往往会很有用。

$a = 5;
$b = 3;
$c = $a + $b; // 加入5+3
echo $c; //打印出8

正确地插入引号或撇号

引号和撇号不得任意组合。例如,如果我们决定使用引号,我们也必须用引号结束字符串,而不是在里面使用。

因此,这是不对的。

echo "<img src="/FileUpload/Features/2/Photo/2179.jpg"obrazek.gif">";

因为不清楚这个链条的起点和终点。引号和撇号不能嵌套。

一个可能的解决方案被称为escaping,其中有问题的字符前面有一个反斜杠。

echo "<img src="image.gif">";

反斜杠表示下一个字符将正是我们要使用的字符。

然而,对于输出HTML代码来说,最好是用撇号括住整个字符串,然后以正常方式使用引号。

echo '<img src="image.gif">';

另外,它也可以被逆转。

echo "<img src='picture.gif'>";

从一个URL地址或从一个表单填充一个变量

含有问号的地址带有关于输入变量的信息,因此,例如index.php?page=contacts表示变量page,其值为contacts。这个变量的值被读取为$_GET['page']

问号字符与磁盘上的文件名没有任何关系。它始终是我们在地址中传递参数的那个文件。

我在关于发送数据的方法的文章中详细讨论了这个问题。

从一个地址定义一个变量的内容

有些变量在脚本运行时是可用的(因此可以直接使用),这些变量被称为superglobal变量。例如,如果我们想从一个URL读取一个值,我们使用$_GET变量。 其用法如下。

$a = $_GET['a'];
echo $a;

这个脚本将问号后的URL中的内容打印到源代码中。

警告,这个样本并不安全!如果一个流氓访客在URL中传递,例如HTML代码,它将被插入到页面中并执行。因此,我们必须始终处理输出;htmlspecialchars()函数用于此。

$a = $_GET['a'];
echo htmlspecialchars($a);

如果我们访问页面时没有指定?a=anything参数,$_GET['a']变量将不存在,PHP将抛出一个错误信息。我们需要用一个条件来对待这个条件,如果变量不存在就不做任何事情(或者说,输出替代内容)。 变量的存在可以用isset()函数来验证。

if (isset($_GET['a'])) {
$a = $_GET['a'];
echo htmlspecialchars($a);
} else {
echo '变量 "a "并不存在!';
}

有计数的例子

有了来自URL地址的变量,我们可以做狗件,例如,把它们加起来,直接写出结果。

echo $_GET['a'] + $_GET['b'];

如果我们想在URL中包含更多的输入参数,我们必须用安培号(&)来分隔它们。该地址可以是这样的:index.php?a=5&b=3

链接文本输入(字符串)

我们也可以很容易地链接2个文本输入(字符串)。这是用点运算符完成的。你可以在变量中或在列表时进行链接。

$a = '犬';
$b = '猫';
echo $a . 'a' . $b;

它说 "狗和猫"。

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
7.
Status:
All systems normal.
2024