什么是变量
凡是有一定编程基础的都应该知道“变量”,什么是变量?变量就是用来存储数据的容器,变量的值就是我们的数据,所以变量的值随着我们的所存储的数据的改变而改变的。我们可以再PHP给PHP的变量赋值,在变量中检索数据,为变量赋新值。同时PHP的变量是临时的,只存在于一个脚本的执行期间。
PHP中有些变量已经预定出来了,我们称之为预定变量。我们首先来学习一个预定变量$_SERVER,这个变量包含了运行PHP的计算机的相关信息。
print_r()是显示变量的最简单方式:print_r(变量名)
效果如图
请注意:php文档要使用英文名,否则浏览器可能无法获得相关数据
$_SERVER变量存储关于服务器的所有数据:名称、操作系统、当前用户名、Web服务器应用程序(Apache、Abyss、ISS等),同时还包括所要执行的PHP脚本的信息:脚本名称、在服务器上保存的位置等,以及其他信息。这些信息都可以在上图中找到。
请注意:必须按照全大写的样式正确输入$_SERVER。
变量语法
PHP变量的正确书写方式:
1、必须以美刀符号$开头;
2、美刀符号后面必须跟字母或者下划线,不能使用数字;
3、变量名剩下的部分可以包含任何数量的字母、数字或者下划线。
4、变量命中不能出现空格;
5、变量名必须唯一;
6、变量是区分大小写的!变量$A和变量$a是不同的。
变量类型
PHP变量主要有四种类型:数值型、字符串型、数组型、对象等。
数值型又分为整型和浮点型。整整型和整数一样,包括正整数和负整数。
浮点型又称为双精度浮点型,包括带有小数点的数值。例如1.0、1.1,必须使用浮点型表示分数。因为PHP中表示分数的唯一方法就是将其转换成等价的小数。
字符串是一对单引号或者双引号引用的任意类型的字符。字符串能够包含字母、数字、符号和空格的任意组合。同时还能包含变量。当字符中用双引号时,双引号前面必须要使用反斜杠(“\”’),或者用单引号替换。也即是在PHP语句中不能用相同类型的引号相互包裹。如果需要,则早在中间的引号的前面加上反斜杠。如图
注意将数值型字符放在引号中就转换成字符串型;例如2017是数值型变量,但是“2017”就是字符串型变量
数组
字符串和数值类型只有一个值,都被称之为标量,数组可以被赋予多个值,可以认为数组是值的列表。换句话说,一个数组中可以放置多个字符串和或数值。数组使用键来创建和检索保存的值。PHP中有两种数组:索引数组和关联数组。二者的区别键的格式。索引数组使用数值作为键。关联数组使用字符串作为键。组数中的值可以任何变量类型。数组的键又被称为索引,二者意思相同。
为变量赋值
PHP在为变量赋值时可以忽略变量的类型,使用=给变量赋值。等号是赋值运算符,变量在左边,值在右边。
print $firstvar;?>
输出效果:
每一个完整的赋值语句后面都要跟一个分号。变量可以放在在字符串中。对同一个变量分别赋值时,后面的赋值变量会覆盖前面的变量,这类似JavaScript变量声明提升。
$firstvar="哈哈,我覆盖了前面一个变量";
print $firstvar;?>
输出效果
使用print打印变量,只适用于字符串型变量和数值型变量。
理解引号
PHP允许使用单引号和双引号,但二者导致的结果不同。
使用单引号的内容将按照字面量的意思进行处理,而双引号引用的内容需要进行推断。
$lastdvar="这是变量二";
print "$firstvar
$lastdvar
";
// 这里的单引号和双引号不同
$fisrst_name=" $firstvar $lastdvar";
$last_name='$lastdvar $lastdvar';
print "$fisrst_name
$last_name";
?>
输出结果
将变量作为值赋给另一个变量,使用单引号则直接输出原变量名,使用双引号则输出原变量的值。
如果作为赋值的字符中右上角含有英文逗号,则需要使用双引号,虎、、或者在这个逗号前面加反斜杠,将其转义。
$lastdvar="hello'这是变量二";
print "$firstvar
$lastdvar
";
?>
如果还是不懂,建议完全使用双引号,如果变量赋值是数值型,那么不使用引号。
错误提示
如果输出结果为以下内容,则说明遗漏了分号
如果输出结果为以下内容,则说明变量名不一致
如果是空白页,很可能是出了某些错误,同时display_errors被设置成为off.