elseif 值小于获取值或大于
elseif value is less than getting value or greater than
我正在尝试显示 echo 2 但它不起作用
$zipcode1 = 07300-011;
$zipcode= str_replace("-","",$zipcode1);
$zipcode = 07300011;
if ($zipcode >= 20000000 && $zipcode <= 26600999) {
echo '1';
}
elseif ($zipcode >= 07000001 && $zipcode <= 07399999) {
echo '2';
}
else {
echo 'no value';
}
请告诉我哪里做错了。感谢您的帮助
结果 = 2
如果邮政编码的前导 0 很重要,则需要将字符串与字符串进行比较:
$zipcode1 = "07300-011";
$zipcode= str_replace("-","",$zipcode1);
$zipcode = "07300011";
if ($zipcode >= "20000000" && $zipcode <= "26600999") {
echo '1';
} elseif ($zipcode >= "07000001" && $zipcode <= "07399999") {
echo '2';
} else {
echo 'no value';
}
你犯了两个错误。
一个是赋给$zipcode1
的值不是字符串,而是算术运算的结果。我是说 $zipcode1
不是 "07300-011"
,而是 07300-011
,它等于 octal number 7300
(3776
以 10 为基数)减去八进制 11
(9
in base 10),即 3776 - 9
即 3767
.
第二个是您正在尝试使用字符串进行数字比较。 "20" > "1000"
与 20 > 1000
不同。第一个将解析为 true
,而第二个将给出 false
(这可能是您想要的)。
要解决此问题,您必须先将它们都转换为数字。您可以投射它们:
((int) $zipcode1) > (int) $zipcode2
或者您可以使用 +
符号代替:
(+$zipcode1) > (+$zipcode2)
在这两种情况下,您都需要先从邮政编码中删除空格和所有其他 non-numeric 个字符。
$zipcode = str_replace([' ', '-'], '', $zipcode);
阅读 php 文档中的以下主题以获取更多信息:
我正在尝试显示 echo 2 但它不起作用
$zipcode1 = 07300-011;
$zipcode= str_replace("-","",$zipcode1);
$zipcode = 07300011;
if ($zipcode >= 20000000 && $zipcode <= 26600999) {
echo '1';
}
elseif ($zipcode >= 07000001 && $zipcode <= 07399999) {
echo '2';
}
else {
echo 'no value';
}
请告诉我哪里做错了。感谢您的帮助 结果 = 2
如果邮政编码的前导 0 很重要,则需要将字符串与字符串进行比较:
$zipcode1 = "07300-011";
$zipcode= str_replace("-","",$zipcode1);
$zipcode = "07300011";
if ($zipcode >= "20000000" && $zipcode <= "26600999") {
echo '1';
} elseif ($zipcode >= "07000001" && $zipcode <= "07399999") {
echo '2';
} else {
echo 'no value';
}
你犯了两个错误。
一个是赋给$zipcode1
的值不是字符串,而是算术运算的结果。我是说 $zipcode1
不是 "07300-011"
,而是 07300-011
,它等于 octal number 7300
(3776
以 10 为基数)减去八进制 11
(9
in base 10),即 3776 - 9
即 3767
.
第二个是您正在尝试使用字符串进行数字比较。 "20" > "1000"
与 20 > 1000
不同。第一个将解析为 true
,而第二个将给出 false
(这可能是您想要的)。
要解决此问题,您必须先将它们都转换为数字。您可以投射它们:
((int) $zipcode1) > (int) $zipcode2
或者您可以使用 +
符号代替:
(+$zipcode1) > (+$zipcode2)
在这两种情况下,您都需要先从邮政编码中删除空格和所有其他 non-numeric 个字符。
$zipcode = str_replace([' ', '-'], '', $zipcode);
阅读 php 文档中的以下主题以获取更多信息: