0


我正在尝试检查变量是否有多个零。似乎php将多个零视为一个零。例如,无论变量有多少个零,以下代码始终返回 true:

    $input = 0000;//or "0000"
    if($input==00) echo "true"; 
    else echo "false";

我的问题是:我怎样才能使上面的代码只有在 if 语句中具有确切数量的零时才返回 true?
谢谢

4

4 回答 4

3

仅当 if 语句中的确切数字为零时,如何使上述代码返回 true?

使用字符串。

整数是数字的唯一数据,而不是它的表示形式。所以0000等于0

于 2013-01-05T22:45:52.770 回答
2

目前,您$input是十进制整数。因此,0实际上等于00000

您需要将其定义为字符串,然后与其他字符串进行比较。

$input = "0000";
if( $input === "00" ) { echo "yes"; } else { echo "no"; }
于 2013-01-05T22:46:16.347 回答
2

使用字符串而不是数字

$input = "00000";
// This searches for 0 extra zeros on the left
if(strpos($input,"0")==0 && $input!=="0"){
    echo "true";
}
else{
   echo "false";
}
于 2013-01-05T22:46:26.720 回答
1
<?php

    $input = "0000";
    if(strcmp($input,"0000")==0) {echo "they match";} 
    else {echo "They dont";}

?>
于 2013-01-05T22:49:20.383 回答