前端学PHP之运算符
发布时间:2016-01-11, 17:01:21 分类:PHP | 编辑 off 网址 | 辅助
正文 4132字数 82,254阅读
定义运算符即做运算的标识符号。PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符、递增递减运算符和数组运算符
算术运算符
+(加法)
$x + $y
-(减法)
$x - $y
*(乘法)
$x * $y
/(除法)
$x / $y
%(求模)
$x % $y
Run code
Cut to clipboard
赋值运算符
PHP的赋值运算符有两种,分别是直接赋值"="和引用赋值"&"
[1]直接赋值
直接赋值"="把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边运算数。换言之,首先给左边运算数申请一块内存,然后把复制的值放到这块内存中
x = y
x += y
x -= y
x *= y
x /= y
x %= y
Run code
Cut to clipboard
[2]引用赋值
引用赋值&意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化
<?php
$a = "测试内容1";
$b = $a;
$c = &$a;
$a = "测试内容2";
echo $b."<br />";//测试内容1
echo $c."<br />";//测试内容2
?>
Run code
Cut to clipboard
比较运算符
比较运算符主要用来进行比较运算
== 等于
=== 全等
!= 不等
<> 不等
!== 不全等
> 大于
< 小于
>= 大于等于
<= 小于等于
Run code
Cut to clipboard
<?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)
?>
Run code
Cut to clipboard
三元运算符
"?:"三元运算符是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3
<?php
$a = 78;//成绩
$b = $a >=60?"及格":"不及格";
echo $b;//及格
?>
Run code
Cut to clipboard
逻辑运算符
逻辑运算符主要是进行逻辑运算
and 与
or 或
xor 异或
&& 与
|| 或
! 非
Run code
Cut to clipboard
<?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 ? "通过":"不通过");//通过
?>
Run code
Cut to clipboard
字符串运算符
字符串连接运算符是为了将两个字符串进行连接
[1]连接运算符(.)
<?php
$a = 'hello';
$b = $a . ' world!';
//hello world!
echo $b;
?>
Run code
Cut to clipboard
[2]连接赋值运算符(.=)
<?php
$x = 'hello';
$x .= ' world!';
//hello world!
echo $x;
?>
Run code
Cut to clipboard
错误控制运算符
PHP提供了一个错误控制运算符@,对于一些可能会有运行过程中出错的表达式,不希望出错时显示错误信息时,将@放置在一个PHP表达式之前。如果激活了track_error特性,表达式产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖
[注意]错误控制前缀@不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构如if和foreach等
<?php
$a = 1;
echo @ $a;//1
$b;
echo @ $b;//不报错
?>
Run code
Cut to clipboard
递增/递减运算符
++$x 前递增
$x++ 后递增
--$x 前递减
$x-- 后递减
Run code
Cut to clipboard
<?php
$x=10;
echo ++$x; // 输出 11
$y=10;
echo $y++; // 输出 10
$z=5;
echo --$z; // 输出 4
$i=5;
echo $i--; // 输出 5
?>
Run code
Cut to clipboard
数组运算符
用于比较数组
+ 联合
== 相等
=== 全等
!= 不相等
<> 不相等
!== 不全等
Run code
Cut to clipboard
<?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)
?>
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
暂无评论 »