算术运算符
加减乘除
跟生活中的一样。
注意运算顺序:先乘除,后加减(因为运算符优先级不一样,算术运算中同级运算符从左至右运算)。
求模
求模也叫做求余,运算符为`%`。
取反
代码:
<?php
$a = 5;
$b = -$a;
var_dump($b);
?>
效果:
int -5
在变量前面缀上-进行取反,如果$a是字符串,运算结果将会是0
赋值运算符
=
赋值操作的顺序为从右到左。
自运算符
<?php
$a = 5;
$a = $a + 5;
var_dump($a);
?>
上面的代码等价于下面的:
<?php
$a = 5;
$a += 5;
var_dump($a);
?>
运算符”+=“是一个操作符,因此加号和等号要连在一起,中间没有空格。它实现的操作是在自身(运算符左边的值)的基础上,加上右边的值。
类似的有”-=“,”*=“,”/=“,”%=“。
递增/递减运算符
自加1或者自减1,PHP提供了更为优化的运算操作符”++“,”-- “。
++$a与$a++的区别:
前一个被称为前置运算(prefix),后一个被称为后置运算(postfix)。
前置运算先进行自加运算,然后运算过的变量参加那条语句的其他运算。
后置运算先使用未自加的变量参与那条语句的其他运算,然后再进行自加运算。
字符串运算符
连接运算符”.“,就是一个点。返回其左右参数连接后的字符串。
连接赋值运算符”.=“,是一个点和一个等号,中间没有空格。将其右边参数附加到左边的参数后。
比较运算符
比较运算符允许对两个值进行比较,所得的结果为逻辑值true(真)或者false(假),也就是布尔值。
逻辑运算符
逻辑运算有以下4个操作符:
!(非,取逻辑反,NOT)
&&(逻辑与,并且,AND)
||(逻辑或,或者,OR,在键盘上Enter上面可以打出来)
Xor(逻辑异或)
<?php
//And(逻辑与)
$a and $b;
//Or(逻辑或)
$a or $b;
//Xor(逻辑异或)
$a xor $b;
//Not(逻辑非)
! $a;
//And逻辑与
$a && $b;
//Or(逻辑或)
$a || $b;
?>
在代码中可以看出运算符&&(与)和||(或)有两种表示方法。这是因为在PHP中,这两种不同的运算符优先级不一样。符号&&和||高于文字and和or,类似于运算符优先级乘除大于加减。
位运算符
位运算符允许对整型数中指定的位进行置位。
在编程中,一个字节由8个bit组成,例如 0010 1001,这表示一个字节。 置位的意思是将某一个bit设置为1,如将 0010 1001的第七位置位,置位后即为 0010 1011。 与置位相对应的是复位,复位是将某一个bit设置为0,编程中通常使用RESET进行复位,如将 0010 1001的第八位复位,复位后即为 0010 1000。 |
$a&$b,And(按位与)将把$a和$b中都为1的位设为1
$a | $b,Or(按位或)将把$a或者$b中为1的位设为1
$a ^ $b,Xor(按位异或)将把$a和$b中不同的位设为1
~$a,Not(按位非)将$a中为0的位设为1,反之亦然
$a << $b,将$a中的位向左移动$b次(每一次移动都表示”乘以2“)
$a >> $b,将$a中的位向右移动$b次(每一次移动都表示”除以2“)
注意:在32位系统上不要右移超过32位。不要在结果可能超过32位的情况下左移。
其实这一段我不懂
执行运算符
PHP支持一个执行运算符,反引号``。这不是单引号(普通键盘上,大键盘数字区域最左边前面一个标有波浪号~和反引号的键`),PHP尝试将执行运算符(反引号)中的内容作为外壳命令来执行,并将其输出信息返回(例如,可以赋给一个变量而不是简单的丢到标准输出,使用反引号运算符的效果与函数shell_exec()相同)。这个通常用来执行操作系统命令。
错误控制运算符
PHP支持一个错误控制运算符@。当@放在一个PHP表达式之前,该表达式可能产生的任何错误信息都会被忽略掉。
@运算符只对表达式有效。例如,可以放在变量、函数和include()调用、常量等之前,而不能够放在函数或类的定义前,也不能用于条件结构前。
错误控制符通常用于忽略脚本中可有可无的错误信息,比如打开某些网站的时候,就发现页面顶部打印出一些莫名其妙的脚本警告信息,实质上这些错误并不影响脚本运行,但有了这些警告信息就会影响页面美观,这时候就该使用错误控制运算符。
表达式和语句
表达式
变量、常量、各种运算符等组成了表达式,表达式用于表达一个计算过程。
表达式最基本的形式是变量和常量。 在我理解表达式就是用来表达一个东西的玩意。
语句
通常所说的语句是指一些表达式的组合,能够完成一件事情,才叫语句。
注释
注释有三种:
/* */ 中间不可以嵌套。快捷键为shift+ctrl+/
# 单行注释
// 单行注释