PHP课程 - 第2课 - PHP中的变量
PHP变量用于存储值,例如文本字符串、数字或数组。当变量被声明后,它可以在脚本中反复使用。所有PHP中的变量都以符号$开头。
变量是编程中的基本概念之一。要理解编程,就必须清楚地了解什么是变量,它是如何以及在哪里存储的,以及程序执行过程中它会发生什么变化。变量是一个在程序执行过程中其值可能改变的量。
变量是程序中处理并具有名称的数据。正如你所知道的,数据存储和处理在计算机内存中。程序运行时使用的是内存(RAM),而在关闭时会保存到永久存储中。编写程序时会使用不同类型的数据,也就是说,存在不同类型的变量。这些变量可能是数字、字符、文本、布尔值、过程、日期等,每种类型又可以细分。例如,数值数据可以是整数型、小数型等。根据数据类型的不同,程序在声明变量后会在内存中为这些变量分配一定数量的单元格。也就是说,这些单元格会被命名为变量名,并在这些单元格中存储变量的值。变量值可以保留到程序结束或直到它被赋予新值为止。变量名在整个程序中保持不变,而变量值可以改变。在 PHP 语言中,不仅变量值可以改变,甚至它的数据类型也可以变化。
正确声明PHP变量的方式:
$var_name = value;
单个等号 = 是赋值运算符,也就是说,我们在 PHP 中表示:将值 value 赋给变量 var_name。
初学PHP编程的人经常会忘记在变量名前加上$符号。在这种情况下,PHP 将无法正常运行并会报错。
我们在文件 index.php 中写下如下 PHP 代码,有意忘记加美元符号:
<?php var_name = 'Hello, World!'; ?>然后打开你的网站(我的地址是 http://test),页面会显示如下错误:
当我们声明字符串变量时,字符串必须放在引号中,可以是单引号或双引号,区别不大。唯一的规则是,如果以单引号开始,就必须以单引号结束;如果以双引号开始,就必须以双引号结束。数值变量则不需要加引号。当我们输出字符串变量时,不要将其放在引号中。
让我们尝试创建一个包含字符串的变量和一个包含数字的变量。将 index.php 文件的代码替换为以下内容:
<?php $txt="Hello World!"; $x=16; print $txt; echo $x; ?>
现在再次访问你的网站 http://test(你的可能不同)。屏幕上会显示以下结果:
Hello World!16
在这种情况下,无论使用 print 还是 echo 来输出变量,结果都是相同的,所有变量都会在同一行输出,包括字符串变量和数值变量。
PHP 的另一个特点是,你无需显式声明变量。换句话说,不需要用特殊命令来定义新变量。我们可以直接创建新变量:
$variable = '新变量';
不仅如此,变量还可以从字符串类型变为数值类型:
<?php $var1 = '1 новая переменная'; $var2 = 6; $var3 = $var1 + $var2; print $var3; ?>
这里我稍微提前使用了加法运算符,关于运算符我们稍后会详细讲解。现在我们更关心将字符串变量与数值变量相加会得到什么结果。
7
有趣吧?
此外,我们还可以访问变量并更改它们的值。
$var1 = 14; $var1 = $var1 + 1; print $var1;
结果如下:
15
因此,我们可以更改变量的当前值并将其重新写入同一个变量中。实际上,在这里变量的值被代入表达式中,结果为 (14 + 1)。
另外,你还可以(虽然不推荐)在变量名中使用西里尔字母:
<?php $переменная1 = 'Привет, Мир!'; print $переменная1; ?>
结果为:
Привет, Мир!
不错吧?我想即使从中学阶段开始,也可以直接用俄语来学习 PHP。
当然,这还不是全部变量类型,还有数组、对象、资源(resource)、布尔值(boolean)以及其他许多类型。现在我们还用不到它们,但请相信,我们迟早会学到。
现在让我们总结一下本课内容:
在PHP中,变量会在第一次使用时自动创建。变量命名规则如下:
- 变量名必须以字母或下划线 "_" 开头。
- 变量名只能包含字母、数字和下划线(A–Z, a–z, 0–9, _)。
- 变量名不能包含空格。如果变量名由多个单词组成,应使用下划线($my_string)或驼峰命名法($myString)。
PHP 是一种弱类型语言。在PHP中,变量在赋值前无需声明。在上面的示例中,你会注意到我们没有指定变量的数据类型。PHP会根据赋给变量的值自动将其转换为正确的数据类型。而在强类型编程语言中,你必须在使用变量之前显式声明其类型和名称。