Вопрос по PHP

[Удален]
535

Всем привет. Подскажите есть в ПХП функция, которая определила есть ли искомая величина (допустим АТ600) в промежутке такого формата: АТ568-АТ984?

Буду благодарен за любую помощь.

izbushka
На сайте с 08.06.2007
Offline
110
#1

В данном случае вы можете просто сравнить строки: if('AT600'>'АТ568' and 'AT600'<'АТ984' )...

Ну а в общем случае надо смотреть какие бывают данные, и уже потом принимать решение, как поступить

C
На сайте с 04.02.2005
Offline
291
#2

а что это за промежуток?

R
На сайте с 18.12.2009
Offline
92
#3

ТС, вопрос не совсем понятен

[Удален]
#4
Chukcha:
а что это за промежуток?

АТ568,АТ569,АТ570...АТ984

дани мапов
На сайте с 06.09.2012
Offline
204
#5

Самому надо писать, нет такой функции.


function MyCheck ($val) {
$val = str_replace('AT', '', $val);
return (($val > 564) and ($val < 984));
}
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
[Удален]
#6
izbushka:
В данном случае вы можете просто сравнить строки: if('AT600'>'АТ568' and 'AT600'<'АТ984' )...

Ну а в общем случае надо смотреть какие бывают данные, и уже потом принимать решение, как поступить

'AT600'>'АТ568' and 'AT600'<'АТ984' - этот вариант не работает

---------- Добавлено 10.01.2013 в 18:27 ----------

Всем спасибо за желание помочь. Если нет такой функции, сейчас напишу сам.

S5
На сайте с 04.01.2010
Offline
77
#7

Только парсить стринг и инт. Если же стринговая часть не интересует совсем, можно попробовать приведение к инту - (int) и intval()

izbushka
На сайте с 08.06.2007
Offline
110
#8
Mr.Boba:
этот вариант не работает

Как это не работает? :)

var_dump('AT600'>'AT568' and 'AT600'<'AT984'); //bool(true) 
var_dump('AT500'>'AT568' and 'AT500'<'AT984'); //bool(false)

Еще есть strnatcmp

[Удален]
#9
izbushka:
Как это не работает? :)
var_dump('AT600'>'AT568' and 'AT600'<'AT984'); //bool(true) 

var_dump('AT500'>'AT568' and 'AT500'<'AT984'); //bool(false)


Еще есть strnatcmp

Извините, у меня с первого раза что-то не сработало.

izbushka
На сайте с 08.06.2007
Offline
110
#10
Mr.Boba:
Извините, у меня с первого раза что-то не сработало.

А причина есть :)

Вы видите разницу между строками "AT" и "АТ"? А она есть, и именно поэтому не сработало. Будьте внимательны с этим и в своей функции

PS. набор символов разный (кириллица и латинница)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий