欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php运算符集锦

程序员文章站 2022-05-22 23:06:00
...
大家学学习编程语言会接触到运算符,本文主要和大家分享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运算符集锦的详细内容,更多请关注其它相关文章!