运算符即做运算的标识符号。PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符、递增递减运算符和数组运算符
+(加法) $x + $y-(减法) $x - $y*(乘法) $x * $y/(除法) $x / $y%(求模) $x % $y
PHP的赋值运算符有两种,分别是直接赋值'='和引用赋值'&'
[1]直接赋值
直接赋值'='把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边运算数。换言之,首先给左边运算数申请一块内存,然后把复制的值放到这块内存中
x = yx += yx -= yx *= yx /= yx %= y
[2]引用赋值
引用赋值&意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化
<?php $a = '测试内容1'; $b = $a; $c = &$a; $a = '测试内容2'; echo $b.'<br />';//测试内容1 echo $c.'<br />';//测试内容2?>
比较运算符主要用来进行比较运算
== 等于 === 全等!= 不等<> 不等!== 不全等> 大于< 小于>= 大于等于<= 小于等于
<?php $a = 1; $b = '1'; var_dump($a == $b); echo '<br />';//bool(true) var_dump($a === $b); echo '<br />';//bool(false) var_dump($a != $b); echo '<br />';//bool(false) var_dump($a <> $b); echo '<br />';//bool(false) var_dump($a !== $b); echo '<br />';//bool(true) var_dump($a < $b); echo '<br />';//bool(false)?>
'?:'三元运算符是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3
<?php $a = 78;//成绩 $b = $a >=60?'及格':'不及格'; echo $b;//及格?>
逻辑运算符主要是进行逻辑运算
and 与or 或xor 异或&& 与|| 或! 非
<?php $a = TRUE; //A同意 $b = TRUE; //B同意 $c = FALSE; //C反对 $d = FALSE; //D反对 echo ($a and $b);//1 echo '<br />'; echo ($a or $c);//1 echo '<br />'; echo($a xor $c xor $d);//1 echo '<br />'; echo(!$c ? '通过' :'不通过');//通过 echo '<br />'; echo($a && $d ? '通过':'不通过');//不通过 echo '<br />'; echo ($b || $c || $d ? '通过':'不通过');//通过?>
字符串连接运算符是为了将两个字符串进行连接
[1]连接运算符(.)
<?php $a = 'hello'; $b = $a . ' world!'; //hello world! echo $b;?>
[2]连接赋值运算符(.=)
<?php $x = 'hello'; $x .= ' world!'; //hello world! echo $x;?>
PHP提供了一个错误控制运算符@,对于一些可能会有运行过程中出错的表达式,不希望出错时显示错误信息时,将@放置在一个PHP表达式之前。如果激活了track_error特性,表达式产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖
[注意]错误控制前缀@不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构如if和foreach等
<?php$a = 1;echo @ $a;//1$b;echo @ $b;//不报错?>
++$x 前递增$x++ 后递增--$x 前递减$x-- 后递减
<?php$x=10; echo ++$x; // 输出 11$y=10; echo $y++; // 输出 10$z=5;echo --$z; // 输出 4$i=5;echo $i--; // 输出 5?>
用于比较数组
+ 联合== 相等=== 全等!= 不相等<> 不相等!== 不全等
<?php$x = array('a' => 'red', 'b' => 'green'); $y = array('c' => 'blue', 'd' => 'yellow'); $z = $x + $y; var_dump($z);//array(4) { ['a']=> string(3) 'red' ['b']=> string(5) 'green' ['c']=> string(4) 'blue' ['d']=> string(6) 'yellow' } echo '<br>';var_dump($x == $y);//bool(false)echo '<br>';var_dump($x === $y);//bool(false)echo '<br>';var_dump($x != $y);//bool(true)echo '<br>';var_dump($x <> $y);//bool(true)echo '<br>';var_dump($x !== $y);//bool(true)?>PHP编程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答