微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP学习 运算符与运算符优先级

算术运算符
运算符名称结果
$a+$b加法$a和$b的和
$a-$b减法$a和$b的差
$a$b乘法$a和$b的积
$a/$b除法$a除以$b的商
$a%$b取模$a除以$b的余数
递增/递减运算符
运算符名称结果
++$a 前加  $a的值加一,然后进行操作
$a++后加  $a的值先进行操作,后加一
--$a  前减  $a的值减一,然后进行操作
$a--  后减  $a的值先进行操作,后减一
实例:
<?PHP
echo$a=5+”5th”;//输出:10
echo10%3;//输出:1
echo10+$a++;//输出:20
echo5---$a;//输出:-5
?>
比较运算符
运算符名称结果
$a==$b等于TRUE,如果$a等于$b
$a===$b全等TRUE,如果$a等于$b,并且它们的类型也相同
$a!=$b不等TRUE,如果$a不等于$b
$a<>$b不等TRUE,如果$a不等于$b
$a!==$b非全等TRUE,如果$a不等于$b,或者它们的类型不同
$a<$b小于TRUE,如果$a严格小于$b
$a>$b大于TRUE,如果$a严格$b
$a<=$b小于等于TRUE,如果$a小于或等于$b
$a>=$b大于等于TRUE,如果$a大于或等于$b
另外一个条件运算符是“?:”(或三元)运算符。 实例:
<?PHP
var_dump(0=="a");//输出:bool(true)
var_dump(0=="00");//输出:bool(true)
var_dump(0==="00");//输出:bool(false)
var_dump(0<>"abc");//输出:bool(false)
var_dump(0!=="01");//输出:bool(true)
$a=10;
$b=20;
$str=$a>$b?"true":"false";
echo$str;//输出:false
?>
逻辑运算符
运算符名称结果
$aand$b逻辑与TRUE,如果$a与$b都为TRUE。
$aor$b逻辑或TRUE,如果$a或$b任一为TRUE。
$axor$b异或TRUE,如果$a和$b不同时
!$a逻辑非TRUE,如果$a不为TRUE。
$a&&$b逻辑与TRUE,如果$a与$b都为TRUE。
$a||$b逻辑或TRUE,如果$a或$b任一为TRUE。 其中and与&&、or与||是同一逻辑运算符的两种写法。
逻辑与和逻辑或都是短路运算符。在遇到下列逻辑表达式时,PHP解释程序将不会计算右边的表达式:
<?PHP
$a=10;
if(false&&(++$a));
echo$a;//输出:10
$b=10;
if(trueor(++$b));
echo$b;//输出:10
?>
位运算符
位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的ASCII值。
表达式名称结果
$a&$b按位与将把$a和$b中都为1的位设为1。
$a|$b按位或将把$a或者$b中为1的位设为1。
$a^$b按位异或将把$a和$b中不同的位设为1。
~$a按位非将$a中为0的位设为1,反之亦然。
$a<<$b左移将$a中的位向左移动$b次(每一次移动都表示“乘以2”)。
$a>>$b右移将$a中的位向右移动$b次(每一次移动都表示“除以2”)。
其他运算符
字符串运算符
有两个字符串运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后。
错误抑制操作符
在最常见的数据库连接与文件创建操作或出现除0等异常时,可以用@符号来抑制函数错误信息输出到浏览器端$a=@(5/0)
外部命令执行
使用`来运行外部系统命令,注意不是单引号,是ESC下面那个按键 <BR><?<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>$out=dirc:`;
print_r($out);
?>//不建议使用
实例:
<?PHP
$a="hello";
$a.="world!";//等同于:$a=$a."world!";
echo$a;//输出:helloworld!
$m=3;
$m+=5;//等同于:$m=$m+5;
echo$m;//输出:8 $c=($b=4)+5;
echo$c;//输出:9
?>
运算符优先级
下表从低到高列出了运算符的优先级。
结合方向运算符
左,
左or
左xor
左and
右print
右=+=-=
=/=.=%=&=|=^=~=<<=>>=
左?:
左||
左&&
结合方向运算符
左|
左^
左&
无==!====!==
无<<=>>=
左<<>>
左+-.
左*/%
右!~++--(int)(float)(string)(array)(object)@
右[
无new

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐