Подскажите, есть в РНР функция для сравнения строк не по длине и не по сумме кодов символов, а по первым буквам алфавита? Например, есть два слова: "авто" "мото" Нужно их сравнить и так как буква "а" в алфавите раньше "м", то функция должна сообщить, что первое слово меньше второго. Если первые буквы совпадают, то сравнивать нужно по следующим за ними буквам. Например из двух слов "аавто" "амото" нужно чтобы функция сообщила, что первое слово меньше второго, так как вторая буква "а" в слове "аавто" в алфавите раньше, чем вторая буква "м" в слове "амото".
Буквы - это для тебя они буквы, для компьютера это те же самые цифры. И "м", соответственно, имеет высший номер в таблице символов нежели "а"
ну да, я в курсе. "м" имеет больший кодовый знак и поэтому второе слово больше. Короче мне нужно сравнение не сразу всей строки, а последовательное побуквенное. Вот и интересуюсь есть ли для такого случая в РНР функция? Если нет, то придется самому парсить побуквенно слова и писать эту функцию.
Эта функция кажись не подходит. Про нее пишут, что в ней: "Величина" строки вычисляется согласно кодам символов. Т.е. если взять слова "аяяяя" "баааа", то получится, что второе слово меньше первого, так как сумма кодов его символов меньше. А надо только по первым и дальше, если первые совпадают.
Во-первых, читайте только официальную документацию. Русских докуметаций, которые можно использовать - нет пока. Во-вторых, Код (Text): php -r 'print strcmp("аяяяя", "баааа");' -1 Returns < 0 if str1 is less than str2 с вас 100$ за то, что нашли время порассуждать в форуме, но не нашли время банально взять и проверить.
Попробоавал и правда то что нужно. В книге наверно не дописали, что в случае если одна строка длинее другой, то в сравнении использутся не все символы строк, а столько, сколько в самой коротко из строк. Спасибо!