PHP functie array_multisort()

Voorbeeld

Geef een array terug die in oplopende volgorde is gesorteerd:

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

Lopende voorbeelden

Definitie en gebruik

De functie array_multisort() retourneert een gesorteerde array. U kunt één of meerdere arrays invoeren. De functie sorteert eerst de eerste array, gevolgd door de andere arrays, en sorteert de volgende array als twee of meer waarden hetzelfde zijn.

Opmerking:String-sleutels worden behouden, maar numerieke sleutels worden opnieuw geïndexeerd, beginnend bij 0 en met 1 verhoogend.

Opmerking:Je kunt sorteervolgorde en sorteertype instellen achter elke array. Als dit niet is ingesteld, wordt elke arrayparameter de standaardwaarde gebruikt.

Syntax

array_multisort(array1,sorting order,sorting type,array2,array3...)
Parameters Beschrijving
array1 Verplicht. Specificeer een array.
sorting order

Optioneel. Specificeer de volgorde. Mogelijke waarden:

  • SORT_ASC - Standaard. Sorteer in oplopende volgorde (A-Z).
  • SORT_DESC - Sorteer in aflopende volgorde (Z-A).
sorting type

Optioneel. Specificeer het sorteertype. Mogelijke waarden:

  • SORT_REGULAR - Standaard. Sorteer elk item in de standaard volgorde (Standard ASCII, type ongewijzigd).
  • SORT_NUMERIC - Behandel elk item als een getal.
  • SORT_STRING - Behandel elk item als een string.
  • SORT_LOCALE_STRING - Behandel elk item als een string, gebaseerd op de huidige regionaal instellingen (kan worden gewijzigd met setlocale()).
  • SORT_NATURAL - Behandel elk item als een string, gebruik een natuurlijke sortering vergelijkbaar met natsort().
  • SORT_FLAG_CASE - Combineer (bitwise of) SORT_STRING of SORT_NATURAL om strings te sorteren, zonder rekening te houden met hoofd- en kleine letters.
array2 Optioneel. Specificeer een array.
array3 Optioneel. Specificeer een array.

Beschrijving

De functie array_multisort() sorteert meerdere arrays of meerdimensionale arrays.

De array in de parameter wordt beschouwd als een kolom van een tabel en gesorteerd op rij - dit is vergelijkbaar met de functie van de ORDER BY-clause in SQL. De eerste array is de belangrijkste array die gesorteerd moet worden. Als de rijen (waarden) in de array vergelijkbaar zijn, wordt gesorteerd op de grootte van de overeenkomstige waarden in de volgende invoerarray, enz.

De eerste parameter is een array, de volgende parameters kunnen een array zijn of een van de volgende sorteerindicatoren (sorteerindicatoren worden gebruikt om de standaard volgorde te wijzigen):

  • SORT_ASC - Standaard, sorteer in oplopende volgorde. (A-Z)
  • SORT_DESC - Sorteer in aflopende volgorde. (Z-A)

Vervolgens kan je het type sortering specificeren:

  • SORT_REGULAR - Standaard. Sorteer elk item in de standaard volgorde.
  • SORT_NUMERIC - Sorteer elk item in numerieke volgorde.
  • SORT_STRING - Stel elk item in alfabetische volgorde in.

Technische details

Retournerende waarde: Retourneert TRUE als het succesvol is, anders FALSE.
PHP Versie: 4+
Update log:

De sorteerTypes SORT_NATURAL en SORT_FLAG_CASE zijn toegevoegd in PHP 5.4.

De sorteertype SORT_LOCALE_STRING is toegevoegd in PHP 5.3.

Meer voorbeelden

Voorbeeld 1

Geef een array terug die in oplopende volgorde is gesorteerd:

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

Lopende voorbeelden

Voorbeeld 2

Hoe sorteren bij gelijke waarden:

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

Lopende voorbeelden

Voorbeeld 3

Gebruik sorteerparameters:

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

Lopende voorbeelden

Voorbeeld 4

Voeg twee arrays samen en sorteer ze in numerieke aflopende volgorde:

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

Lopende voorbeelden