php运算符集锦

小云云
发布: 2023-03-20 14:58:02
原创
1549 人浏览过

大家学学习编程语言会接触到运算符,本文主要和大家分享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中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!