189 8069 5689

php数据相加为什么是0 php怎么输入数据

php三元运算?结果为什么是0?

/*

站在用户的角度思考问题,与客户深入沟通,找到福贡网站设计与福贡网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖福贡地区。

关于运算优先级,先看文档:

?:是左结合,就是从左向右

*/

//先看个简单的:

//1.想知道??:它是怎样解析的

//$a=true?false?1:0;//报错,语法错误

//2.再试一下这个:

$a=true?false?1:0:2;

echo $a;//0

/*

通过观察以上两个判断,我猜测应该是这样的:

当出现?时,它会在它后面寻找:,如果一直没有找到,则会报错

如果在后面的:前面出现了?,则会先让后面的?与:结合

也就是说true?false? 这种表达,它是不去解析的

true?false?true:false 这种表面,它会选择解析后面的一对?:然后得到结果:false

语句就变成true?false 了,这样语句就不完整了,所以会报错

下面我们想看楼主的问题:

$b=20;

$c=40;

$a=$b$c?($c-$b)?1:($b-$c)0:($b+$c)?0:$b*$c;

解析的顺序就应该是这样的:

$a=true? (20?1:-20)0 : 60 ?0:800;

$a=true?10:60?0:800;

$a=true?true:60?0:800;

$a=true?0:800;

$a=0;

*/

php赋值运算中,$a=2;$a^=2;结果却是0.这是为什么?"^"如果是乘方的话,结果不应该是4么?

lz理解错了。^在早期的BASIC语言和一些伪代码中表示乘方

在PHP运算符中,^不是乘方,而是“位异或XOR”运算。

$a^=2是$a=$a^2的快捷形式。

异或运算遵循“同零异壹”的法则——数位上相同的二进制数字得0,数位上不同的数字得1.

比如1^1=0, 0^0=0, 1^0=1

(D)6^2=(B)110^10=(B)100=(D)4

(D)5^8=(B)101^1000=(B)1101=(D)13

(D)5^6=(B)101^110=(B)11=(D)3

PHP的浮点乘方用pow函数。

$a=pow(2,3);//2的3次方

$a=pow($a,$a);//$a的$a次方

PHP里面for循环初始化累加和为什么要为0

for循环一般是处理数组循环的操作,数组(键名)下标一般从0开始,所以一般习惯从0开始,不过,你根据你的需求从什么数字开始都可以,没有限制


网站名称:php数据相加为什么是0 php怎么输入数据
当前链接:http://jkwzsj.com/article/ddedppi.html

其他资讯