12.2. Сравнение строк
Эти функции позволяют производить сравнение строк и возвращают целые числа. Отрицательное значение означает, что первая строка больше второй. Нуль означает, что строки являются равными. Положительное число означает, что первая строка меньше второй. Для сравнения строк можно воспользоваться функциями хеширования, которые описываются ниже.
integer strcasecmp(string first, string second)
Функция strcasecmp (листинг 12.17) аналогична функции strcmp, за исключением того, что она не делает различия между регистрами букв.
Листинг 12.17. Функция strcasecmp
<?php
$first = "abc"; $second = "aBc";
if(strcasecmp($first, $second) == 0)
{
print(" строки равны");
}
else
{
print(" строки не равны");
}
?>
integer strcmp(string first, string second)
Функция strcmp (листинг 12.18) сравнивает первую строку со второй. При этом производится сравнение ASCII-кодов. Эту функцию можно использовать для сравнения двоичных строк.
Листинг 12.18. Функция strcmp
<?php
$first = "abc"; $second = "xyz";
if(strcmp($first, $second) == 0)
{
print(" строки равны");
}
else
{
print(" строки не равны");
}
?>
integer strcoll(string first, string second)
Функция strcoll сравнивает две строки в основном аналогично тому, как это делает функция strcmp, за исключением того, что при этом предполагается, что порядок следования символов определяется локалью. Если задана локаль C или POSIX, она полностью дублирует работу функции strcmp. Эта функция не может работать с двоичными строками. А это значит, что строку, содержащую символ NULL (ASCII 0), функция strcoll не будет сравнивать со всей строкой.
integer strnatcasecmp(string first, string second)
Функция strnatcasecmp сравнивает две строки аналогично функции strnatcmp, описание которой следует ниже, за исключением того, что при этом игнорируется регистр символов.
integer strnatcmp(string first, string second)
Функция strnatcmp сравнивает две строки естественным образом (как это понимает Мартин Пул (Martin Pool) на своем Web-узле <http://www.naturalordersort.org/>). В соответствии с этим методом сортировки внимание уделяется цифрам, содержащимся в строках, и считается, что значение "abc2" должно предшествовать "abc12" (см. рис. 11.12). Если первая и вторая строки аналогичны, эта функция возвращает нуль. Если первая строка больше второй, эта функция возвращает отрицательное значение. Если вторая строка больше первой, функция возвращает положительное значение.
integer strncasecmp(string first, string second, integer length)
Функция strncasecmp сравнивает первые части двух строк. При этом сравнение производится посимвольно до тех пор, пока не будет достигнуто количество символов, заданных аргументом length, или не будет достигнут конец одной из сравниваемых строк. При этом буквы, представленные в разных регистрах, считаются равными. Если первая и вторая строки аналогичны, эта функция возвращает нуль. Если первая строка больше второй, эта функция возвращает отрицательное значение. Если вторая строка больше первой, эта функция возвращает положительное значение.
integer strncmp(string first, string second, integer length)
Функция strncmp сравнивает первые части двух строк. При этом сравнение производится посимвольно до тех пор, пока не будет достигнуто количество символов, заданных аргументом length, или не будет достигнут конец одной из сравниваемых строк. Она рассматривает порядок на основании значения ASCII. Если первая и вторая строки аналогичны, эта функция возвращает нуль. Если первая строка больше второй, функция возвращает отрицательное значение. Если вторая строка больше первой, функция возвращает положительное значение.
string strpbrk(string text, string list)
Функция strpbrk возвращает подстроку строки, заданной аргументом text, после того, как она находит в ней один из символов, заданных аргументом list. Эта функция работает с одноименной C-функцией.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Кодирование и декодирование. Часть Четвёртая.
09-01-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Кодирование и декодирование. Часть Третья. | PHP. Кодирование и декодирование. Часть Пятая. |