本章节我们将谈论 PHP 中不同运算符的运用。
在 PHP 中,赋值运算符 = 用于给变量赋值。
在 PHP 中,算术运算符 + 用于把值加在一起。
PHP 算术运算符
以下实例演示了利用不同算术运算符得到的不同结果:
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出16
echo '<br>'; // 换行
echo ($x - $y); // 输出4
echo '<br>'; // 换行
echo ($x $y); // 输出60
echo '<br>'; // 换行
echo ($x / $y); // 输出1.6666666666667
echo '<br>'; // 换行
echo ($x % $y); // 输出4
echo '<br>'; // 换行
echo -$x;
?>
PHP 赋值运算符
在 PHP 中,基本的赋值运算符是 \公众=\"大众。它意味着左操作数被设置为右侧表达式的值。也便是说,\"大众$x = 5\"大众 的值是 5。
以下实例演示了利用不同赋值运算符得到的不同结果:
<?php
$x=10;
echo $x; // 输出10
$y=20;
$y += 100;
echo $y; // 输出120
$z=50;
$z -= 25;
echo $z; // 输出25
$i=5;
$i = 6;
echo $i; // 输出30
$j=10;
$j /= 5;
echo $j; // 输出2
$k=15;
$k %= 4;
echo $k; // 输出3
?>
以下实例演示了利用不同字符串运算符得到的相同结果:
PHP 递增/递减运算符
以下实例演示了利用递增/递减运算符得到的结果:
PHP 比较运算符
比较操作符可以让您比较两个值:
以下实例演示了利用一些比较运算符得到的不同结果:
PHP 逻辑运算符
PHP 数组运算符
以下实例演示了利用一些数组运算符得到的不同结果:
三元运算符
另一个条件运算符是\"大众?:\"大众(或三元)运算符 。
语法格式
(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
实例
以下实例中通过判断 $_GET 要求中含有 user 值,如果有返回 $_GET['user'],否则返回 nobody:
把稳:PHP_EOL 是一个换行符,兼容更大平台。
在 PHP7+ 版本多了一个 NULL 合并运算符 ??,实例如下:
组合比较符(PHP7+)
PHP7+ 支持组合比较符,实例如下:
运算符优先级
下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。
解释:左 = 从左到右,右 = 从右到左。
运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。
以上实例输出结果为:
int(3)bool(true)
括号的利用
我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,常日能够增加代码的可读性。
以上实例输出结果为:
79
条记:
一个等号 = 用于赋值,如:
$a = 5;
两个等号 == 用于比较,值相等,类型不一定相等,如:
5==5 // 返回 true5==\"大众5\"大众 // 返回 true
三个等号 === 用于绝比拟较,即类型与值都要相等,如:
5===5 // 返回 true5===\"大众5\"大众 // 返回 false
组合比较运算符别号太空船运算符,组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。
语法是这样的:
$c = $a <=> $b;
这句代码的意思是:
如果 $a > $b, $c 的值为 1 如果 $a == $b, $c 的值为 0 如果 $a < $b, $c 的值为-1运算符的优先级口诀:括(号)、单(操作数)、算(术)、移(位)、关(系);位(运算符)、逻(辑)、条(件)、赋(值)、逗(号)。
<=> 太空船操作符,又称组合比较运算符,结合比较运算符。
组合比较运算符,英文叫作 combined comparison operator,符号为 <=>,它有一个形象的名字,叫作太空船操作符。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。
语法是这样的:
$c = $a <=> $b;
这句代码的意思是
如果$a > $b, $c 的值为1如果$a == $b, $c 的值为0如果$a < $b, $c 的值为-1在没有太空船运算符的时候,我们只能这样写代码
$c = $a > $b ? 1 : ( $a==$b ? 0 : -1 );