定义变量
变量名必须通过$
符号标识,如:
<?php
$name = "abc";
$n = 1;
?>
变量名的命名规则
变量名的命名规则主要有三条:
1. 变量名必须以字母或下划线 _
开头。
2. 变量名只能由字母、数字、以及“_”组成,还能包含汉字。
3. 变量名不允许包含空格。
要注意,PHP中变量名是区分大小写的。
变量的数据类型
在PHP中,支持8种原始类型,包括四种标量类型、两种复合类型和两种特殊类型。PHP是一门松散类型的语言,不必声明变量的数据类型,PHP会自动转换。
标量类型—布尔类型
布尔类型(boolean):只有两个值,一个是TRUE,另一个FALSE。它不区分大小写,也就是说TRUE和true是一样的。
当用echo指令输出布尔类型时,如果是true则输出的是1,false则什么也不输出。可以使用var_dump
函数,获取它真正的数据类型。
标量类型—整型
整型(integer):它可以用十进制、八进制、十六进制指定。十进制就是日常使用的数字;八进制,数字前必须加上数字“0”;十六进制,数字前必须加“0x”。
标量类型—浮点型
浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。科学计数法可以使用小写的e,也可以使用大写的E。如:
<?php
$num_float = 1.23;
$num_float = 1.2e3; //科学计数法,小写e
$num_float = 1.2E-3; //科学计数法,大写E
?>
标量类型—字符串
字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式。
当字符串中包含引号的时候,有如下办法:
第一种方案:在单引号中嵌入双引号,如:$str = '我叫"苹果"。'
;
第二种方案:在双引号中嵌入单引号,如:$str = "我叫'苹果'。"
;
第三种方案:使用转义符\
如:$str = '我叫\'苹果\'。'
;
当引号里有$
标识的变量会是什么情况?
当双引号中包含变量时,会显示变量的值;当单引号中包含变量时,变量会被当做字符串输出。如:
<?php
$str = "苹果";
$string1 = "我是$str";
$string2 = '我是$str';
echo $string1; // 输出:我是苹果
echo "<br />";
echo $string2; // 输出:我是$str
?>
说白了,双引号认识变量,而单引号不认识变量。
当字符串很长怎么办?
我们可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串<<<
,接着在<<<
之后提供一个标识符如ABC,然后是字符串,最后以提供的这个标识符结束字符串。如:
<?php
$string1 = <<<ABC
我是一个很长的字符串。我是一个很长的字符串。
我是一个很长的字符串。我是一个很长的字符串。
ABC;
?>
在赋值符号后,输入定界符“<<<”,接着是标识符,标识符可以是随便是什么,可以是ABC,可以使DEF,但是,结尾处的标识符也必须是一样的。此外,在结尾的一行,一定要另起一行,并且此行除了标识符,并以“;”号结束之外,不能有任何其他字符,前后都不能有,包括空格,否则会出现错误。
特殊类型—资源
资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。
如:
<?php
$file = fopen("file.txt","r"); // 打开文件
$con = mysql_connect("localhost","root","root"); // 连接数据库
$img = imagecreate(100,100); // 图形画布
?>
特殊类型—空类型
NULL:NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。