Home  >  Article  >  Backend Development  >  为何 true 输出 1,可是 false 却什么也不输出呢

为何 true 输出 1,可是 false 却什么也不输出呢

WBOY
WBOYOriginal
2016-06-13 13:00:001171browse

为什么 true 输出 1,可是 false 却什么也不输出呢?

<br />
<?php<br />
<br />
$a=true;<br />
<br />
echo "下面输出 true <br>";<br />
<br />
echo $a;<br />
<br />
echo '<br>';<br />
<br />
$a=false;<br />
<br />
echo "下面输出 false <br>";<br />
<br />
echo $a;<br />
?><br />


如果真转化为1输出,那么,假就应该转化为0输出呀。
------解决方案--------------------
按它定的规则来,这就是编程
------解决方案--------------------
$a = false;
var_dump($a);

输出:
bool(false) 

建议使用var_dump()进行调试
------解决方案--------------------
语言的作者就这么写的,等哪天你写个语言让false输出0,true什么也不输出,后来有人问为什么false输出0,而true什么都不输出呢
------解决方案--------------------
php 的布尔值true和false;  //echo true;为1 echo false 不会有任何输出内容
php和c一样,0表示false;非0表示true;
<br />
$a=1;<br />
<br />
echo "下面输出 true <br>";<br />
<br />
echo $a;<br />
<br />
echo '<br>';<br />
<br />
$a=0;<br />
<br />
echo "下面输出 false <br>";<br />
<br />
echo $a;<br />





------解决方案--------------------
对于数字类型来说,false 确实 是 0, 而对string来说,false是 空,虽然数字的0也等于字符串的空,但是不能说 bool 转换 string 以后就是 0;

var_dump((int)false);<br />
var_dump((string)false);

------解决方案--------------------

引用:
语言的作者就这么写的,等哪天你写个语言让false输出0,true什么也不输出,后来有人问为什么false输出0,而true什么都不输出呢


..........
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn