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