PHP array_multisort() funktion

Eksempel

Returnerer en array sorteret i stigende rækkefølge:

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

Kør eksempel

Definition og brug

array_multisort() funktionen returnerer en sorteret array. Du kan indtaste en eller flere arrayer. Funktionen sorterer først den første array, derefter de andre arrayer, og hvis to eller flere værdier er ens, sorterer den den næste array.

Kommentar:Strengnøgler vil blive bevaret, men numeriske nøgler vil blive genindekserede, fra 0 og med 1 increment.

Kommentar:Du kan indstille sorteringsrækkefølge og sorteringstypeparametre efter hvert array. Hvis de ikke er indstillet, bruges standardværdierne for hver arrayparameter.

Syntaks

array_multisort(array1,sorting order,sorting type,array2,array3...)
Parameter Beskrivelse
array1 Obligatorisk. Angiv array.
sorting order

Valgfri. Angiv rækkefølge. Mulige værdier:

  • SORT_ASC - Standard. Sorter i stigende rækkefølge (A-Z).
  • SORT_DESC - Sorter i faldende rækkefølge (Z-A).
sorting type

Valgfri. Angiv sorteringstype. Mulige værdier:

  • SORT_REGULAR - Standard. Sorterer hvert element i almindelig rækkefølge (Standard ASCII, ændrer ikke type).
  • SORT_NUMERIC - Behandler hvert element som et tal.
  • SORT_STRING - Behandler hvert element som en streng.
  • SORT_LOCALE_STRING - Behandler hvert element som en streng, baseret på den aktuelle regionssætning (kan ændres ved hjælp af setlocale()).
  • SORT_NATURAL - Behandler hvert element som en streng, bruger en naturlig sortering ligesom natsort().
  • SORT_FLAG_CASE - Kan kombineres (bitwise or) SORT_STRING eller SORT_NATURAL til at sortere strenge, uden at tage højde for store og små bogstaver.
array2 Valgfri. Angiv array.
array3 Valgfri. Angiv array.

Beskrivelse

array_multisort() funktionen sorterer flere array eller flerdimensionale array.

Array'et i parameteren betragtes som en tabels kolonne og sorteres rækkevis - dette er lignende til ORDER BY-subsets funktion i SQL. Den første array er den hovedarray, der skal sorteres. Hvis rækkerne (værdierne) i arrayet sammenlignes og er ens, sorteres de derefter efter størrelsen af de tilsvarende værdier i den næste inputarray, og så videre.

Den første parameter er en array, og de efterfølgende parametre kan være enten array eller en af følgende sorterings顺序标志(排序标志用于更改默认的排列顺序):

  • SORT_ASC - Standard. Sorter i stigende rækkefølge. (A-Z)
  • SORT_DESC - Sorter i faldende rækkefølge. (Z-A)

Herefter kan du specificere sorteringstypen:

  • SORT_REGULAR - Standard. Sorter hver post i almindelig rækkefølge.
  • SORT_NUMERIC - Sorter hver post i numerisk rækkefølge.
  • SORT_STRING - Sorterer hvert element i alfabetisk rækkefølge.

Tekniske detaljer

Returværdi Returnerer TRUE hvis succesfuldt, ellers FALSE.
PHP-version 4+
Opdateringslog

Sorteringstypen SORT_NATURAL og SORT_FLAG_CASE blev tilføjet i PHP 5.4.

Sorteringstypen SORT_LOCALE_STRING blev tilføjet i PHP 5.3.

Flere eksempler

Eksempel 1

Returnerer en array sorteret i stigende rækkefølge:

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

Kør eksempel

Eksempel 2

Hvordan sorteres når to værdier er ens:

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

Kør eksempel

Eksempel 3

Brug af sorteringsparametre:

<?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);
?>

Kør eksempel

Eksempel 4

Flet to arrayer sammen og sortér dem numerisk faldende:

<?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);
?>

Kør eksempel