很多站长朋友们都不太清楚php=>优先级,今天小编就来给大家整理php=>优先级,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 关于运算优先级。if($abc==3 && $bcd=4) 这一句,是先运算过程是怎么样。 2、 php 优先级问题 3、 php中 且amp;、或 -、非 ^ 3个符号的意思 4、 PHP语言PHP语言里的位运算符&、|、^ 、~、〈〈 、〉〉这些符号我一个也不懂,希望高手给个全面的解释!拜 php 关于运算优先级。if($abc==3 && $bcd=4) 这一句,是先运算过程是怎么样。首先说明的用法,且的意思,当且仅当前后连个语句都为真时,返回true
也就是说,如果第一个条件为假,不进行第二个语句的判断或执行
如果第一个条件为真,则进行第二个语句的判断或执行
更简单的语句,如
<?php
$abc=3;
$abc==3$bcd=4
print $bcd;
?>
这个效果是一样的!
在你这个例子里$abc == 3为真,则执行语句 $bcd = 4;将4赋值给变量$bcd
这个if语句块等价于如下语句
if($abc==34)
{
$bcd = 4;
print $bcd;
}
先计算$abc==3,因为==比,=优先级都高 因为$abc==3成立所以等价于
if(1$bcd=4),先计算$bcd=4也就是赋值,然后将值作为的第二个条件,等价于
if(14)这个是明显成立的,执行里面的语句 print $bcd输出4
如果你将$bcd=0则等价于
if(10)这个是不成立的,如果有else则执行else里面的语句
if($abc==3$bcd=0)
{
print $bcd;
}
else
{
print $bcd;//在这里将输出0
}
php 优先级问题php三元运算符的顺序是从左向右的
原始 $a = $b < $c ? ($c-$b) ? 1 : ($b-$c) > 0 : ($b+$c) ? 0 : $b*$c;
先计算优先级高于三元运算符的
$a = 20 < 40 ? 20 ? 1 : -20 > 0 : 60 ? 0 : 800;
$a = 0 ? 20 ? 1 : 0 : 60 ? 0 : 800;
然后从左测第一个可执行的三元运算开始执行 20 ? 1 : 0 为 1
$a = 0 ? 1 : 60 ? 0 : 800;
再从左测第一个可执行的三元运算开始执行 0 ? 1 : 60 为 60
$a = 60 ? 0 : 800;
最终
$a = 0
为了避免工作中出现这种情况,建议避免出现比较长的三元运算表达式
php中 且amp;、或 -、非 ^ 3个符号的意思:这个符号叫“与”,表示左右两边的操作数都为“真”时才为“真”,口诀是真真为真,真假为假,假真为假,假假为假;
||:这个符号叫“或”,表示左右两边的操作数只要有一个为“真”时就为“真”,口诀是真真为真,真假为真,假真为真,假假为假;
^:这个符号叫“非”,表示将右边的操作数从“真”变成“假(非真)”的结果,从“假”变成“真(非假)”的结果。
特性
PHP的特性包括:
PHP 独特的语法混合了 C、Java、Perl 以及 PHP [8]自创新的语法。
PHP安装它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,
而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可以用C、C++进行程序的扩展!
这三个运算符不是同一种运算符,和^属于位运算符,||属于逻辑运算符,|属于位运算符,即按位与 ,把$a和$b中都为1的位设为1,否则为0,用于二进制的位运算。逻辑运算符||,同为假才是假,否则为真。^相同则为0,不同则为1,同样用于二进制的位运算
在PHP中,与and都表示逻辑与,||与or都表示逻辑或,并且它们都是短路运算符。而它们的区别在于运算的优先级不同。因为运算符and、=、的优先级为>=>and。运算符or、=、||的优先级为||>=>or。
PHP语言PHP语言里的位运算符&、|、^ 、~、〈〈 、〉〉这些符号我一个也不懂,希望高手给个全面的解释!拜"" 按位与运算
按位与运算符""是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。
例如:95可写算式如下:
00001001 (9的二进制补码)
00000101 (5的二进制补码)
00000001 (1的二进制补码)
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a$b);
?>
"|" 按位或运算
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下:
00001001
|00000101
00001101 (十进制为13)可见9|5=13
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a|$b)."\n"; //二进制
echo sprintf("%d", $a|$b)."\n"; //十进制
"^" 按位异或运算
按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下:
00001001
^00000101
00001100 (十进制为12)
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a^$b)."\n"; //二进制
echo sprintf("%d", $a^$b)."\n"; //十进制
"~" 求反运算
求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反。
例如~9的运算为:
~(0000000000001001)结果为:1111111111110110
<?php
$a = 9;
$b = 5;
echo sprintf("%b", ~$a)."\n"; //二进制
"〈〈" 左移运算
左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。
例如:
a<<4
指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。
<?php
$a = 3;
$temp = $a<<4;
echo sprintf("%d", $temp)."\n"; //十进制
“>>” 右移运算
右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。
例如:
设 a=48,
a>>4
表示把00110000右移为00000011(十进制3)。
应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定
<?php
$a = 48;
$temp = $a>>4;
echo sprintf("%d", $temp)."\n"; //十进制
关于php=>优先级的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php=>优先级 php中优先权最低的运算符是的详细内容...