① php中"0"是false吗
是的, 具体可以参考下面代码执行的结果
var_mp(0==false);
var_mp('0'==false);
var_mp(''==false);
var_mp('null'==false);
var_mp(null==false);
执行的结果是:
boolean true
boolean true
boolean true
boolean false
boolean true
② php三目运算符10-3>20:true5:3,为什么结果是3呢
你这个是双重三目运算,它会先执行排在前面的运算,再执行后面的运算。我加个括号看的会明白些,如下:
(10-3>2 ? 0 : true)? 5 : 3,首先执行括号里的运算,10-3大于2,条件成立,所以输出结果是0,那么第二个运算公式就变成了0 ? 5 : 3,0表示假的意思,即条件不成立,所以输出结果是3。
建议写多重三目运算时分开写,不要合在一起,比如:
$a=true?5:3;
echo10-3>2?0:$a;
三目运算符
语法:
条件 ? 结果1 : 结果2
说明:
问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2。
③ php 里面,0、1和false 、true有什么区别
不加特别处理的话,通常0、1等于false 、true,可以互相代替的。
极特别情况下需要严格区分的话,可以用全等于来判断:===
当然另外大于0的都当作true
④ php字符串后面加个{0}是什么意思 比如$a{0}。
你说的不是很详细。要是我的这种那么$a{0}大括号跟中括号效果都是一样的把某个字符串变量当成数组处理,你写可以写成$a0o]
<?php
$a="abcdefg";
echo$a{0};
//这代表一个数组元素也就是$a变量的第一个字母a.运行一下你就明白了
?>