|
|||
Функции сравненияФункции сравнения strcmp Синтаксис : Эта функция сравнивает две строки посимвольно (точнее, побайтово) и возвращает: strncmp Синтаксис : Эта функция отличается от strcmp() тем, что сравнивает не все слово целиком, а первые len байтов. В случае, если len меньше длины наименьшей из строк, то строки сравниваются целиком. strcasecmp Синтаксис : То же самое, что и strcmp(), только при работе не учитывается регистр букв. $str1 = "Привет!"; $str2 = "привет!"; if(!strcesecmp($str1, $str2)) echo "$str1 == $str2 при сравнении строк без учета регистра"; strncasecmp Синтаксис : Функция strncasecmp() является комбинацией функций strcasecmp() и strncmp(). strnatcmp Синтаксис : Данная функция имитирует сравнение строк, которое использовал бы человек. $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); echo "Обычная сортировка\n"; usort($arr1, "strcmp"); print_r($arr1); echo "\nЕстенственная сортировка\n"; usort($arr2, "strnatcmp"); print_r($arr2); Данный скприпт выведет следующее: Обычная сортировка Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png )
Естественная сортировка Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png ) strnatcasecmp Синтаксис : То же, что и strnatcmp(), только игнорирует регистр. similar_text Синтаксис : Функция similar_text() вычисляет схожесть двух строк по алгоритму, описанному Оливером (Oliver [1993]). Но вместо стека (как в псевдокоде Оливера) она использует рекурсивные вызовы. levenshtein Синтаксис : "Различие Левенштейна" - это минимальное чило символов, которое требовалось бы заменить, вставить или удалить для того, чтобы превратить строку str1 в str2. Сложность алгоритма пропорциональна произведению длин строк str1 и str2, что делает функцию более быстродействующей, чем similar_text(). Первая форма функции возвращает число необходимых операций над символами строк для трансформации str1 в str2. Вторая форама имеет три дополнительных параметра: стоимость операции вставки, замены и удаления, что делает ее более адаптированной для вычисления, но при этом менее быстродействующей. Возвращается интегральный показатель сложности трансформации. Третий вариант позволяет указать функцию, используемую для расчета сложности трансформации. Функция cost вызывается со следующими аргументами: · применяемая операция (вставить, изменить, удалить): "I*quot;, "R", "D"; · фактический символ первой строки · фактический символ второй строки · позиция строки 1 · позиция строки 2 · оставшаяся длина строки 1 · оставшаяся длина строки 2 Вызываемая функция должна будет возвратить стоимость этой операции.
|
|||
|