PHP array_multisort() funktion

Exempel

返回一个升序排列的数组:

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

运行实例

Definition och användning

array_multisort() funktionen returnerar en sorterad array. Du kan mata in en eller flera arrayer. Funktionen sorterar först den första arrayen, sedan andra arrayer, om två eller flera värden är desamma, sorterar den nästa arrayen.

Kommentar:Strängnycklar kommer att behållas, men numeriska nycklar kommer att omindexeras från 0 och öka med 1.

Kommentar:Du kan ställa in sorteringsordning och sorteringstyp efter varje array. Om de inte är inställda används standardvärden för varje arrayparameter.

Syntax

array_multisort(array1,sorterings order,sorterings typ,array2,array3...)
Parameter Beskrivning
array1 Obligatorisk. Specificera array.
sorterings order

Valfritt. Specificera sorteringsordning. Möjliga värden:

  • SORT_ASC - Standard. Sortera i stigande ordning (A-Z).
  • SORT_DESC - Sortera i fallande ordning (Z-A).
sorterings typ

Valfritt. Specificera sorteringstyp. Möjliga värden:

  • SORT_REGULAR - Standard. Sortera varje element i vanlig ordning (Standard ASCII, utan att ändra typ).
  • SORT_NUMERIC - Hantera varje element som ett nummer.
  • SORT_STRING - Hantera varje element som en sträng.
  • SORT_LOCALE_STRING - Hantera varje element som en sträng, baserat på den aktuella regionala inställningen (kan ändras med setlocale()).
  • SORT_NATURAL - Hantera varje element som en sträng, använd en naturlig sortering liknande natsort().
  • SORT_FLAG_CASE - Kan kombineras (bitvis eller) SORT_STRING eller SORT_NATURAL för att sortera strängar utan att ta hänsyn till storlek. (Oavsett storlek)
array2 Valfritt. Specificera array.
array3 Valfritt. Specificera array.

Beskrivning

array_multisort() funktionen sorterar flera arrayer eller flerdimensionella arrayer.

Arrayen i parametern ses som en tabell med kolumner och sorteras radvis - detta liknar funktionen ORDER BY i SQL. Den första arrayen är den huvudsakliga arrayen som ska sorteras. Om rader (värden) i arrayen jämförs som lika, sorteras de sedan efter storleken på motsvarande värden i nästa inmatade array, och så vidare.

Den första parametern är en array, varje efterföljande parametar kan vara en array eller en av följande sorteringsindikatorer (sorteringsindikatorer används för att ändra den standarda ordningen):

  • SORT_ASC - Standard. Sortera i stigande ordning. (A-Z)
  • SORT_DESC - Sortera i fallande ordning. (Z-A)

Efter det kan du specificera sorteringstypen:

  • SORT_REGULAR - Standard. Sortera varje element i vanlig ordning.
  • SORT_NUMERIC - Sortera varje element i numerisk ordning.
  • SORT_STRING - 将每一项按字母顺序排列。

技术细节

返回值: 如果成功则返回 TRUE,如果失败则返回 FALSE。
PHP 版本: 4+
更新日志:

排序类型 SORT_NATURAL 和 SORT_FLAG_CASE 是在 PHP 5.4 中新增的。

排序类型 SORT_LOCALE_STRING 是在 PHP 5.3 中新增的。

更多实例

例子 1

返回一个升序排列的数组:

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

运行实例

例子 2

当两个值相同时如何排序:

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

运行实例

例子 3

使用排序参数:

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

运行实例

例子 4

合并两个数组,并按数字降序排列:

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

运行实例