我正在尝试使用&&链接一些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"; }
答案 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
确保$b
和intval
为整数,然后将它们与整数进行比较。
$a = intval($a);
$b = intval($b);
if ($a == 1 && $b >= 10)