PHP语言PHP语言里的位运算符&amp (php语言post用法)

本文目录导航:

PHP语言PHP语言里的位运算符&、|、^ 、~、〈〈 、〉〉这些符号我一个也不懂,希望高手给个全面的解释!拜

& 按位与运算按位与运算符&是双目运算符。

其功能是参与运算的两数各对应的二进位相与。

只有对应的两个二进位均为1时,结果位才为1,否则为0。

参与运算的数以补码方式出现。

例如:9&5可写算式如下(9的二进制补码) &(5的二进制补码)(1的二进制补码)<?php$a = 9;$b = 5;echo sprintf(%b, $a&$b);?>| 按位或运算按位或运算符“|”是双目运算符。

其功能是参与运算的两数各对应的二进位相或。

只要对应的二个二进位有一个为1时,结果位就为1。

参与运算的两个数均以补码出现。

例如:9|5可写算式如下 |(十进制为13)可见9|5=13<?php$a = 9;$b = 5;echo sprintf(%b, $a|$b).\n; //二进制echo sprintf(%d, $a|$b).\n; //十进制^ 按位异或运算 按位异或运算符“^”是双目运算符。

其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。

参与运算数仍以补码出现,例如9^5可写成算式如下: ^ (十进制为12)<?php$a = 9;$b = 5;echo sprintf(%b, $a^$b).\n; //二进制echo sprintf(%d, $a^$b).\n; //十进制~ 求反运算求反运算符~为单目运算符,具有右结合性。

其功能是对参与运算的数的各二进位按位求反。

例如~9的运算为:~()结果为<?php$a = 9;$b = 5;echo sprintf(%b, ~$a).\n; //二进制〈〈 左移运算左移运算符“<<”是双目运算符。

其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。

例如:a<<4指把a的各二进位向左移动4位。

如a=(十进制3),左移4位后为(十进制48)。

<?php$a = 3;$temp = $a<<4;echo sprintf(%d, $temp).\n; //十进制“>>” 右移运算 右移运算符“>>”是双目运算符。

其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。

例如:设a=48,a>>4表示把右移为(十进制3)。

应该说明的是,对于有符号数,在右移时,符号位将随同移动。

当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定<?php$a = 48;$temp = $a>>4;echo sprintf(%d, $temp).\n; //十进制

PHP语言PHP语言里的位运算符&amp (php语言post用法)

PHP中?:什么意思

PHP中“?:”指的是三目运算符。

三目运算符,又称条件运算符,是计算机语言的重要组成部分。

它是唯一有3个操作数的运算符,所以有时又称为三元运算符。

一般来说,三目运算符的结合性是右结合的。

三目运算符提供了一种表达简单 if-else 语句的简写方法。

该运算符由问号(?)和冒号(:)组成,其格式如下:表达式 ? 表达式 : 表达式 ;语句被称为条件表达式,它由 3 个子表达式组成,使用问号 ? 和冒号 : 分隔。

问号前面的条件表达式的部分是要测试的条件。

这就像 if 语句的括号中的表达式。

如果条件是真的,则执行 ? 和 : 之间的语句;否则,执行 : 之后的部分。

如果认为有帮助,可以在子表达式周围放置圆括号

扩展资料:

运算规则:

对于条件表达式b ? x : y,先计算条件b,然后进行判断。

如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。

一个条件表达式绝不会既计算x,又计算y。

条件运算符是右结合的,也就是说,从右向左分组计算。

例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。

可以理解为: 条件 ? 结果1 : 结果2,里面的?号是格式要求。

也可以理解为条件是否成立,条件成立为结果1,否则为结果2。

PHP三元运算符(?:)和NULL合并运行符(??)的区别

在PHP编程中,两种常见的运算符——三元运算符(?:)和NULL合并运行符(??)经常会让开发者感到困惑。

下面,我们将分别探讨它们的特点和用法。

首先,三元运算符(?:)的表达式形式为(expr1) ? (expr2) : (expr3)。

当expr1的值为TRUE时,运算结果为expr2;若expr1为FALSE,则结果为expr3。

自PHP 5.3版本起,如果expr1的值确定,可以简化为(expr1) ?: expr3,此时,如果expr1为TRUE,直接返回expr1,否则返回expr3。

接着,让我们看NULL合并运行符(??)。

这是PHP 7引入的新特性,当expr1为NULL时,表达式(expr1) ?? (expr2)等同于expr2,即提供一个默认值。

如果expr1有值,那么结果就是expr1本身。

这种运算符在处理NULL值时非常有用,可以避免潜在的空值错误。

通过实际的代码测试,我们可以直观地看到这两种运算符在不同情况下的表现。

通过对比它们的使用场景和行为,我们能更好地理解和运用它们。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

52阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

47阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

48阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

46阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读