我正在尝试检查变量是否有多于零。似乎php将多个零视为零。例如,无论变量有多少个零,以下代码始终返回true:
$input = 0000;//or "0000"
if($input==00) echo "true";
else echo "false";
我的问题是:如果上述代码在if语句中具有确切的零数,我怎么能使上述代码返回true?
谢谢
答案 0 :(得分:3)
如果上述代码在if语句中具有确切的零数,我怎么能返回true?
使用字符串。
整数是数字的唯一数据,而不是它的表示。因此0000
等于0
。
答案 1 :(得分:2)
目前,您的$input
是十进制整数。因此,0
确实等于00000
。
您需要将其定义为字符串,然后与其他字符串进行比较。
$input = "0000";
if( $input === "00" ) { echo "yes"; } else { echo "no"; }
答案 2 :(得分:2)
使用字符串而不是数字
$input = "00000";
// This searches for 0 extra zeros on the left
if(strpos($input,"0")==0 && $input!=="0"){
echo "true";
}
else{
echo "false";
}
答案 3 :(得分:1)
<?php
$input = "0000";
if(strcmp($input,"0000")==0) {echo "they match";}
else {echo "They dont";}
?>