Функция natsort

Функция natsort сортирует массив так, как это сделал бы человек. При этом функция сохраняет связи между ключами и значениями. Такой алгоритм называется natural ordering.

Функция изменяет сам массив.

Синтаксис

phpnatsort(array &$array, int $flags = SORT_REGULAR): bool

Пример

Давайте отсортируем массив с помощью обычной функции sort:

php<?php
  $arr = [
    'img12.png',
    'img10.png',
    'img2.png',
    'img1.png',
  ];
  
  sort($arr);
  var_dump($arr);
?>

Результат выполнения кода:

php[
  'img1.png',
  'img10.png',
  'img12.png',
  'img2.png',
]

Пример

А теперь выполним натуральную сортировку с помощью функции natsort:

php<?php
  $arr = [
    'img12.png',
    'img10.png',
    'img2.png',
    'img1.png'
  ];
  
  natsort($arr);
  var_dump($arr);
?>

Результат выполнения кода:

php[
  'img1.png',
  'img2.png',
  'img10.png',
  'img12.png',
]

Смотрите также

  • функцию sort,
    которая сортирует по возрастанию элементов
  • функцию rsort,
    которая сортирует по убыванию элементов
  • функцию ksort,
    которая сортирует по возрастанию ключей
  • функцию krsort,
    которая сортирует по убыванию ключей
  • функцию asort,
    которая сортирует по возрастанию элементов с сохранением ключей
  • функцию arsort,
    которая сортирует по убыванию элементов с сохранением ключей
  • функцию natcasesort,
    которая сортирует натуральным образом без регистра
  • функцию usort,
    которая сортирует по коллбэку
  • функцию uksort,
    которая сортирует по коллбэку по ключам
  • функцию uasort,
    которая сортирует по коллбэку с сохранением ключей
  • функцию array_multisort,
    которая сортирует несколько массивов