如何链接php if语句

时间:2011-12-30 20:20:34

标签: php if-statement

我正在尝试使用&&链接一些if语句。它似乎没有正常工作。这是我的代码。

if ($a == "1" && $b >= "10") 
{ echo "1-3"; }
if ($a == "1" && $b <= "9")
{ echo "0-1"; }
if ($a == "2" && $b >= "10") 
{ echo "2-3"; } 
if ($a == "2" && $b <= "9")
{ echo "0-1"; }
if ($a == "3" && $b >= "10") 
{ echo "2-4"; }
if ($a == "3" && $b <= "9")
{ echo "1-2"; }

4 个答案:

答案 0 :(得分:1)

您无法将字符串与&gt;进行比较或者&lt;。省略" (例如:

if ($a == "1" && $b >= 10) 
{ echo "1-3"; }

答案 1 :(得分:1)

如果您正在寻找数字比较,则应该intval($a)intval($b)

您应该比较同一个域中的对象:intval($a) === 1是严格的,而intval($a) == "1"是无类型的。此外,不应将数字与字符串进行比较。正如我所说,比较的双方都应该在同一个域内。

答案 2 :(得分:1)

你可以比较字符串,但它不会像你想象的那样工作。以这种方式比较字符串只会根据字符ASCII码进行比较。 (感谢火箭队)

我假设您要比较数字的值,因此您应该删除数字周围的引号。

字符串:$b = "1"; 整数:$b = 1;(无引号)

您可能还想在if语句中使用else。

答案 3 :(得分:0)

这里的问题是你要将字符串与int进行比较。发生这种情况时,int将转换为字符串,然后根据字符“ASCII codes比较字符串。

您应该使用$a确保$bintval为整数,然后将它们与整数进行比较。

$a = intval($a);
$b = intval($b);
if ($a == 1 && $b >= 10)