Funkcja array_multisort() w PHP

Przykład

Zwróć tablicę posortowaną rosnąco:

<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a);
?>

Przykłady uruchomieniowe

Definicja i zastosowanie

Funkcja array_multisort() zwraca posortowaną tablicę. Możesz wprowadzić jedną lub kilka tablic. Funkcja najpierw sortuje pierwszą tablicę, a następnie inne tablice, jeśli kilka wartości jest takie same, sortuje następną tablicę.

Komentarz:Nazywane klucze stringi będą zachowane, ale klucze liczbowe będą przypisywane ponownie, zaczynając od 0 i zwiększając o 1.

Komentarz:Możesz ustawić parametry porządku i typu sortowania po każdym tablicy. Jeśli nie są ustawione, każdy parametr tablicy będzie używał wartości domyślnej.

Syntaktyka

array_multisort(array1,sorting order,sorting type,array2,array3...)
Parametry Opis
array1 Wymagane. Określ tablicę.
sorting order

Opcjonalnie. Określ porządek sortowania. Możliwe wartości:

  • SORT_ASC - Domyślnie. Sortuj w porządku rosnącym (A-Z).
  • SORT_DESC - Sortuj w porządku malejącym (Z-A).
sorting type

Opcjonalnie. Określ typ sortowania. Możliwe wartości:

  • SORT_REGULAR - Domyślnie. Traktuje każde elementy w porządku standardowym (Standard ASCII, bez zmiany typu).
  • SORT_NUMERIC - Traktuje każde elementy jako liczby.
  • SORT_STRING - Traktuje każde elementy jako stringi.
  • SORT_LOCALE_STRING - Traktuje każde elementy jako stringi, opierając się na bieżącej konfiguracji regionalnej (można ją zmienić za pomocą setlocale()).
  • SORT_NATURAL - Traktuje każde elementy jako stringi, używając podobnego do natsort() naturalnego sortowania.
  • SORT_FLAG_CASE - Można połączyć (oraz) SORT_STRING lub SORT_NATURAL do sortowania stringów, niezależnie od wielkości liter.
array2 Opcjonalnie. Określ tablicę.
array3 Opcjonalnie. Określ tablicę.

Opis

Funkcja array_multisort() sortuje wiele tablic lub wielowymiarowych tablic.

Tablice w parametrze są traktowane jako kolumny tabeli i sortowane wierszami - podobnie jak funkcja ORDER BY w SQL. Pierwsza tablica to główna tablica do sortowania. Jeśli wiersze (wartości) w tablicy są równe, sortuje się według wartości z następnego wprowadzonego wiersza, i tak dalej.

Pierwszy parametr jest tablicą, każdy następny parametr może być tablicą lub jednym z poniższych znaków flag sortowania (znaki flag sortowania służą do zmiany domyślnego porządku sortowania):

  • SORT_ASC - Domyślnie, sortuj w porządku rosnącym. (A-Z)
  • SORT_DESC - Sortuj w porządku malejącym. (Z-A)

Później można指定指定排序的类型:

  • SORT_REGULAR - Domyślnie. Sortuj każde elementy w porządku standardowym.
  • SORT_NUMERIC - Sortuj każde elementy w porządku numerycznym.
  • SORT_STRING - Każdy element jest sortowany w porządku alfabetycznego.

Szczegóły techniczne

Zwracana wartość: Zwraca TRUE, jeśli sukces, w przeciwnym razie FALSE.
Wersja PHP: 4+
Log zmian:

Typy sortowania SORT_NATURAL i SORT_FLAG_CASE zostały dodane w PHP 5.4.

Typ sortowania SORT_LOCALE_STRING został dodany w PHP 5.3.

Więcej przykładów

Przykład 1

Zwróć tablicę posortowaną rosnąco:

<?php
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2);;
print_r($a1);
print_r($a2);
?>

Przykłady uruchomieniowe

Przykład 2

Jak sortować, gdy wartości są takie same:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,$a2);;
print_r($a1);
print_r($a2);
?>

Przykłady uruchomieniowe

Przykład 3

Użyj parametrów sortowania:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,SORT_ASC,$a2,SORT_DESC);;
print_r($a1);
print_r($a2);
?>

Przykłady uruchomieniowe

Przykład 4

Połącz dwa tablice i posortuj je w porządku malejącym:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);;
print_r($num);
?>

Przykłady uruchomieniowe