目录
1 注释
单行注释使用://
多行注释使用:/* */
2 数据类型
2.1 字符串
字符串是一串字符的序列,可以将文本信息放在单引号或双引号中即可作为字符串来使用。PHP不解析单引号里的变量,而放在双引号里的变量会被解析。
例1:放在单引号中的$name,最终输出的结果是:hello $name。
<?php
$name='lwqbrell';
$str='hello $name';
echo $str;
?>
例2:放在双引号中的$name,最终输出的结果是:hello lwqbrell。
<?php
$name='lwqbrell';
$str="hello $name";
echo $str;
?>
2.2 整型
整型数据只能是整数(正数或负数),可以是八进制(前缀为0)、十进制、十六进制(前缀为0x)。
例1:八进制的011、十进制的11、十六进制的0x22,最终输出的结果为十进制的int(9)、int(11)、int(34)。
<?php
$num8=011;
$num10=11;
$num16=0x22;
var_dump($num8);
var_dump($num10);
var_dump($num16);
?>
2.3 浮点型
浮点型数据也可以用来存储整数,除此之外还可以用来存储小数和指数。
例1:比如num1为整数11、num2为浮点数10.24、num3为指数3e2,最终输出的结果为int(11),float(10.24),float(300)
<?php
$num1=11;
$num2=10.24;
$num3=3e2;
var_dump($num1);
var_dump($num2);
var_dump($num3);
?>
2.4 布尔型
布尔型的数据只有两个,即Ture和False,一般和选择结构一起使用。
2.5 数组
数组是将数据按照一定规律组织起来形成的一个整体。按照维度分有一维数组、二维数组、多维数组;按类型分有索引数组和关联数组。定义数组可以用array(),也可以用[ ]。
例1:用array定义一个一维数组。
<?php
$fruit=array('apple','banana');
var_dump($fruit);
?>
例2:用[ ]定义一个一维数组。
<?php
$fruit=['apple','banana'];
var_dump($fruit);
?>
2.6 对象
对象是类的具体化,在使用对象之前必须声明对象,我们可以使用class关键字定义一个类,然后在类中定义数据类型,最后可以用new关键字实例化一个对象。
NULL
NULL表示变量的值为空。我们可以使用empty(var)函数来判断变量的值是否为空,如果值为空则返回true,反之则返回false。
3 常量
3.1 声明
常量需以下划线或字母开始,后面可以接字母、数字或下划线(字母一般习惯用大写)。定义常量可以使用define()和const,需注意一点,const可以在类中使用,而define()不可以。
例1:用define()定义常量NAME为lwqbrell,用const定义常量SEX为‘男’。
<?php
define('NAME', 'lwqbrell');
const SEX='男';
echo NAME;
echo SEX;
?>
3.2 魔术常量
__FILE__:文件的完整路径。
__LINE__:所在行
__DIR__:文件所在目录。
__FUNCTION__:被调用时的函数名。
__CLASS__:被定义时的类名称。
__TRAIT__:被定义时的trait名称。
__METHOD__:类的方法名。
__NAMESPACE__:当前命名空间的名称。
4 变量
4.1 定义变量
- 以$符开始,后面接着变量名。
- 变量名可以包括字母、数字、下划线,并且以字母或下划线开始。
- 变量名不能有空格。
- 变量名区分大小写。
4.2 超全局变量
$GLOBALS
包含一个引用指向每个当前脚本的全局范围内有效的变量。
$_SERVER
变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。
$_GET
经由 HTTP GET 方法提交至脚本的变量。
$_POST
经由 HTTP POST 方法提交至脚本的变量。
$_COOKIE
经由 HTTP Cookies 方法提交至脚本的变量。
$_FILES
经由 HTTP POST 文件上传而提交至脚本的变量。
$_REQUEST
经由 GET,POST 和 COOKIE 机制提交至脚本的变量。
$_SESSION
当前注册给脚本会话的变量。
4.3 变量的范围
局部变量
定义在函数或类中的变量
全局变量
使用 global定义的变量为全局变量
通过$GLOBALS可获得全局变量
静态变量
使用static定义的变量
5 运算符
5.1 赋值预算符
“=”, 把右边的值赋给左边的常量或变量。
5.2 算术运算符
‘+’,操作符两边相加。
‘-’,操作符两边详减。
‘*’,操作符两边相乘。
‘/’,操作符两边相除
‘++’,自身加1。
‘--’,自身减1
5.3 比较运算符
‘==’,等于。
‘===’,恒等于。
‘!=’,不等于。
‘<>’,不等于。
‘!==’,不恒等于。
‘>’,大于。
‘>=’,大于等于。
‘<’,小于。
‘<=’,小于等于。
‘<=>’,组合比较。
5.4 逻辑运算符
and,与。
or,或。
xor,异或。
&&,与。
||,或。
!,非。
5.5 三元运算符
(express1)?(express2):(express3)
5.6 字符串连接符
‘.’,将两个或多个字符串连接起来。
5.7 位运算符
&,按位与。
|,按位或。
^,按位异或。
~,按位取反。
<<,左移动。
>>,右移动。