我有超过3500个小字符串称为“前进分类区域”。它们是加拿大邮政编码的前三位数字。它们遵循逻辑的字母数字顺序。
Exemple: H2W, H2X, H2Y, H2Z, H3A, H3B etc..我需要在if/ for语句中为这些FSA定义一个“价格表”值,幸运的是,它们每次都会有一大串。我想做的是这样的事情:
$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“。
如果我没有弄错,就不可能在字母数字字符串上使用这些运算符。一定有办法的,但我想不出来。提前感谢你宝贵的帮助。
发布于 2015-03-18 10:37:59
是的,如果在比较的两边都有一个字符串,PHP将把这些字符串转换成数字。
不过,这里有一个bug --在and之后,您必须再次放置$fsa:
if ($fsa >= "H2A" and $fsa <= "H2R") {你可以在这里读到:http://php.net/manual/en/language.operators.comparison.php
https://stackoverflow.com/questions/29119615
复制相似问题