什么是变量
凡是有一定编程基础的都应该知道 “变量”,什么是变量?变量就是用来存储数据的容器,变量的值就是我们的数据,所以变量的值随着我们的所存储的数据的改变而改变的。我们可以再 PHP 给 PHP 的变量赋值,在变量中检索数据,为变量赋新值。同时 PHP 的变量是临时的,只存在于一个脚本的执行期间。
PHP 中有些变量已经预定出来了,我们称之为预定变量。我们首先来学习一个预定变量 $_SERVER,这个变量包含了运行 PHP 的计算机的相关信息。
print_r () 是显示变量的最简单方式:print_r (变量名)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<pre>
<?php print_r($_SERVER);?>
</pre>
</body>
</html>
效果如图
请注意: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 在为变量赋值时可以忽略变量的类型,使用 = 给变量赋值。等号是赋值运算符,变量在左边,值在右边。
输出效果:
每一个完整的赋值语句后面都要跟一个分号。变量可以放在在字符串中。对同一个变量分别赋值时,后面的赋值变量会覆盖前面的变量,这类似 JavaScript 变量声明提升。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<?php $firstvar="这是我创建的第一个变量";
print $firstvar;?>
</body>
</html>
输出效果
使用 print 打印变量,只适用于字符串型变量和数值型变量。
理解引号
PHP 允许使用单引号和双引号,但二者导致的结果不同。
使用单引号的内容将按照字面量的意思进行处理,而双引号引用的内容需要进行推断。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<?php $firstvar="这是我创建的第一个变量";
$firstvar="哈哈,我覆盖了前面一个变量";
print $firstvar;?>
</body>
</html>
输出结果
将变量作为值赋给另一个变量,使用单引号则直接输出原变量名,使用双引号则输出原变量的值。
如果作为赋值的字符中右上角含有英文逗号,则需要使用双引号,虎、、或者在这个逗号前面加反斜杠,将其转义。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<?php $firstvar='h\'这是变量一';
$lastdvar="hello'这是变量二";
print "$firstvar <br>$lastdvar<br>";
?>
</body>
</html>
如果还是不懂,建议完全使用双引号,如果变量赋值是数值型,那么不使用引号。
错误提示
如果输出结果为以下内容,则说明遗漏了分号
如果输出结果为以下内容,则说明变量名不一致
如果是空白页,很可能是出了某些错误,同时 display_errors 被设置成为 off.