English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Basic Tutorial

PHP Advanced Tutorial

PHP & MySQL

PHP Reference Manual

Использование функции array_multisort() в PHP и примеры

PHP Массив Функций Руководство

Функция array_multisort() в PHP сортирует несколько массивов或多угольных массивов

Синтаксис

array_multisort(array1, sorting order, sorting type, array2...);

Определение и использование

 array_multisort() можно использовать для сортировки нескольких массивов одновременно или для сортировки многоуровневых массивов по одному или нескольким измерениям.
Ключевые имена (string) сохраняются без изменений, но числовые ключевые имена будут заново проиндексированы.

Параметр

НомерПараметры и описание
1

array1 (обязателен)

Он указывает на массив

2

sorting order (по желанию)

Он указывает на порядок сортировки. Возможные значения -

  • SORT_ASC по умолчанию. По убыванию (A-Z)

  • SORT_DESC -降序排序 (Z-A)

3

sorting type (по желанию)

При сравнении элементов он указывает на тип, который нужно использовать. Возможные значения:

  • SORT_REGULAR - сравнение элементов по обычному методу (не изменяет тип)

  • SORT_NUMERIC - сортировка по числовому значению

  • SORT_STRING - сортировка по сравнению строк

  • SORT_LOCALE_STRING - сортировка строк по текущим настройкам локализации. Он использует информацию о локали, которую можно изменить с помощью setlocale().

  • SORT_NATURAL - сортировка "естественным порядком" строк, как в natsort()

  • SORT_FLAG_CASE - может быть组合 (или OR) SORT_STRING или SORT_NATURAL для сортировки строк без учета регистра.

4

array2 (по желанию)

Он указывает на массив

Возвратное значение

Успешно, возвращает TRUE; неуспешно, возвращает FALSE.

Онлайн пример

Пример сортировки нескольких массивов

<?php
   $input1 = array("10", 100, 100, "a");
   $input2 = array(1, 3, "2", 1);
   
   array_multisort($input1, $input2);
   print_r($input1);
   print_r($input2);
?>
Проверим‹/›

Результат вывода:

Массив
(
    [0] => 10
    [1] => a
    [2] => 100
    [3] => 100
)
Массив
(
    [0] => 1
    [1] => 1
    [2] => 2
    [3] => 3
)

2. Пример сортировки多维ного массива

<?php
$ar = array(
       array("10", 11, 100, 100, "a"),
       array(1, 2, "2", 3, 1)
      );
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>
Проверим ‹/›

Результат вывода:

array(2) {
  [0]=> array(5) {
    [0]=> string(2) "10"
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) "a"
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) "2"
    [3]=> int(2)
    [4]=> int(1)
  }
}

3. Сортировка массива без учета регистра

<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);
print_r($array);
?>
Проверим ‹/›

Результат вывода:

Массив
(
    [0] => Alpha
    [1] => atomic
    [2] => bank
    [3] => Beta
)

 PHP Массив Функций Руководство