Руководство по PHP
Пред. |  | След.

# strnatcmp

(PHP 4, PHP 5)

strnatcmp -- Сравнение строк с использованием алгоритма "естественного упорядочения"

## Описание

int strnatcmp ( string str1, string str2 )

Эта функция реализует алгоритм сравнения, упорядочивающий алфавитно-цифровые строки подобно тому, как это сделал бы человек. Пример, показывающий отличие этого алгоритма от обыных функций сравнения, приведен ниже

`<?php $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
    )

Для получения дополнительной информации см. Natural Order String Comparison

Подобно другим функциям сравнения строк, strnatcmp() возвращает отрицательное число, если str1 меньше, чем str2; положительное число если, str1 больше, чем str2, и 0 если строки равны.

Эта функция учитывает регистр символов.

См. также описание функций ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() и natcasesort().

Пред. | Начало | След.
strnatcasecmp | Уровень выше | strncasecmp