我有超过3500个小字符串,称为“前向分拣区域”。它们是加拿大邮政编码的前三位数字。它们遵循逻辑的字母数字顺序。
Exemple: H2W, H2X, H2Y, H2Z, H3A, H3B etc..
我需要在if / else语句中为这些FSA定义一个“pricelevel”值,幸运的是,它们一次只能大量使用。我想做的是这样的事情:
$fsa = "H2V" ;
if ($fsa >= "H2A" and <= "H2R") {
$pricelevel = "1";
} elseif ($fsa >= "H2S" and <= "H3B") {
$pricelevel = "2";
} elseif ($fsa >= "H3C" and <= "H4M") {
$pricelevel = "3";
}
在这种情况下,$ pricelevel将为“2”。
如果我没有误会,就不可能在字母数字字符串上使用这些运算符。必须有这样做的方法,但我无法弄清楚。提前感谢您的宝贵帮助。
答案 0 :(得分:2)
是的,PHP会将这些字符串转换为数字,如果在比较的两边都有一个字符串。
但是你有一个错误 - 在and
之后你必须再次放置$fsa
:
if ($fsa >= "H2A" and $fsa <= "H2R") {
您可以在此处阅读:http://php.net/manual/en/language.operators.comparison.php