重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
/*
站在用户的角度思考问题,与客户深入沟通,找到福贡网站设计与福贡网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖福贡地区。
关于运算优先级,先看文档:
?:是左结合,就是从左向右
*/
//先看个简单的:
//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;
*/
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次方
for循环一般是处理数组循环的操作,数组(键名)下标一般从0开始,所以一般习惯从0开始,不过,你根据你的需求从什么数字开始都可以,没有限制