Буквенно-цифровая строка и операторы php (почтовый индекс)

У меня есть более 3500 маленьких строк, которые называются «Передними областями сортировки». Это первые три цифры канадских почтовых индексов. Они следуют логическому буквенно-цифровому порядку.

Exemple: H2W, H2X, H2Y, H2Z, H3A, H3B etc..

Мне нужно определить значение «pricelevel» для этих FSA в операторе if / else, и, к счастью, за один раз они получают большую кучу. Я пытаюсь сделать что-то вроде этого:

$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».

Если я не ошибаюсь, невозможно использовать эти операторы на буквенно-цифровых строках. Должен быть способ сделать это, но я не могу понять. Заранее спасибо за вашу драгоценную помощь.

1

Решение

Да, PHP преобразует эти строки в числа, если с обеих сторон сравнения есть строка.

Однако у вас есть ошибка здесь — после and ты должен положить $fsa снова:

if ($fsa >= "H2A" and $fsa <= "H2R") {

Вы можете прочитать об этом здесь: http://php.net/manual/en/language.operators.comparison.php

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]