课程
/后端开发
/PHP
/PHP入门篇
为什么输出的是1,而不是男,一开始怎么判断就是布尔型的类型呢?
2018-04-03
源自:PHP入门篇 3-6
正在回答
$flag=$man=="男"; 首先 判断$man 是否为 “男”,如果是,就 $flag = 1.如果不是,就不赋值
flag保存的是一个布尔类型的变量。
布尔类型只有True和False(真,假)两种。0为负,其他的都是正。在正的情况下计算机默认填1。
符号优先级问题,这题,先看==,在看=
boolan 的值有两种 非true即false true代表的是1 false为0
如果你有学过C或者JAVA之类的语言就不难懂了,相当于判断并且返回一个值
因为是判断语句,返回的要么就是true,要么就是false。而布尔值在echo的时候true用1表示,false就返回空
$flag=$man=="男";
分开看
先执行$man=="男";
结果为true
即$flag=true
而在php中,echo 输出布尔型
若为true 则是输出1
若为false, 则输出0或不输出任何值。
这涉及两个知识点,运算符执行顺序和布尔型输出,具体可以自行查手册。
我认为1是true,没有值(null)就是false. 通过var_dump()可以查看类型
举报
PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。
1 回答怎么判断$height是高是低?
4 回答为什么输出的是 1
2 回答如果男性有房,该怎么写
1 回答"=="不是赋值吗?这里怎么变成判断?
3 回答为什么我弹出的网页不是输出的success,而是把整个代码输出来了