首页 >后端开发 >php教程 >php运算符集锦

php运算符集锦

小云云
小云云原创
2018-03-01 10:18:111630浏览

大家学学习编程语言会接触到运算符,本文主要和大家分享php运算符集锦,希望能帮助到大家。

一、运算符优先级
递增/递减 > ! > 算术运算符 > 大小比较 > (不)相等比较 > 引用 > 
位运算符(^) > 位运算符(|) > 逻辑与 > 逻辑或 > 三目 > 赋值 > and > xor > or

括号的使用可以增加代码可读性,推荐使用

二、比较运算符
2.1、== 和 === 的区别
==: 比较值
===:比较值 和 比较类型

2.2、等值判断(FALSE的七种情况)
0, 0.0, ' ', '0', false, array(), null

2.3、递增递减不影响布尔值

2.4、递减NULL值没有效果,但是递增NULL值为1

三、逻辑运算符
3.1、短路作用
$a = true || $b == 3;//$b 不执行
$b = false && $a == 1;//$a 不执行

3.2、||和&& 与 or和and的优先级不同
&& > || > and > or

$a = false || true; //true
$b = false or true; // false

四、示例

<?php

/**
 * 下列程序中请写出打印输出的结果
 * <?php
 *
 * $a = 0;
 * $b = 0;
 *
 * if ($a = 3 > 0 || $b = 3 > 0) 
 * {
 *      $a++;
 *      $b++;
 *      echo $a. "\n";
 *      echo $b. "\n";
 * }
 */
$a = 0;
$b = 0;

if ($a = 3 > 0 || $b = 3 > 0) 
{
/**
*	> 的优先级大于 || 大于 =
*	因此可以认为是
*	$a = ((3 > 0) || $b = 3 > 0)
*	=> $a = (true || $b = 3 > 0)
*	由于逻辑或短路作用,b 不再执行
*	因此:$a = true, b = 0
*	由于布尔值递增和递减都不影响还是true,而打印echo时,true底层转为1
*	因此最终echo a 和 b,都是1
*/
    $a++;
    $b++;
    echo $a. "\n";
    echo $b. "\n";
}


相关推荐:

有关php运算符优先级的简单试题

PHP运算符的实例讲解

详解php运算符和表达式用法实例

以上是php运算符集锦的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn