PHP array_multisort() -funktio

Esimerkki

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

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

运行实例

Määrittely ja käyttö

array_multisort() -funktio palauttaa järjestetyn taulukon. Voit syöttää yhden tai useamman taulukon. Funktio järjestää ensin ensimmäisen taulukon, sitten muut taulukot, ja jos kaksi tai useampi arvo ovat samat, se järjestää seuraavan taulukon.

Huomautus:Merkkijonotavaimet säilytetään, mutta numerotavaimet uudelleenindeksoidaan, aloittaen 0:sta ja kasvattuen 1:llä.

Huomautus:Voit asettaa järjestysjärjestyksen ja järjestystyyppiparametrit jokaisen taulukon jälkeen. Jos niitä ei aseteta, jokainen taulukkoparametri käyttää oletusarvoja.

Syntaksi

array_multisort(array1,sorting order,sorting type,array2,array3...)
Parametrit Kuvaus
array1 Välttämätön. Määritä taulukko.
sorting order

Valinnainen. Määritä järjestys. Mahdolliset arvot:

  • SORT_ASC - Oletus. Järjestä nousevassa järjestyksessä (A-Z).
  • SORT_DESC - Järjestä laskevassa järjestyksessä (Z-A).
sorting type

Valinnainen. Määritä järjestystyyppi. Mahdolliset arvot:

  • SORT_REGULAR - Oletus. Järjestä jokainen kohta perusjärjestyksessä (Standard ASCII, ei muuta tyyppiä).
  • SORT_NUMERIC - Käsittele jokainen kohta numerollaan.
  • SORT_STRING - Käsittele jokainen kohta merkkijonona.
  • SORT_LOCALE_STRING - Käsittele jokainen kohta merkkijonona, perustuen nykyiseen alueasetukseen (voi muuttaa setlocale() -funktiolla).
  • SORT_NATURAL - Käsittele jokainen kohta merkkijonona, käytä luonnollista järjestystä, kuten natsort().
  • SORT_FLAG_CASE - Yhdistä (bittivahvistus) SORT_STRING tai SORT_NATURAL järjestääksesi merkkijonot, ei erottaa isoa ja pientä kirjainta.
array2 Valinnainen. Määritä taulukko.
array3 Valinnainen. Määritä taulukko.

Selitys

array_multisort()-funktio järjestää useita taulukoita tai monitasoisia taulukoita.

Parametritaulukkoja käsitellään kuin taulun sarakkeita ja järjestetään riveittäin - tämä on samanlaista kuin SQL:n ORDER BY-lauseen toiminta. Ensimmäinen taulukko on pääjärjestettävä taulukko. Jos taulukon rivit (arvot) ovat samanlaisia, järjestellään seuraavaan syötettyyn taulukkoon vastaavasti suuret arvot, ja niin edelleen.

Ensimmäinen parametri on taulukko, ja seuraavat parametrit voivat olla taulukkoja tai alla olevia järjestysmerkkiä (järjestysmerkit muuttavat oletusjärjestyksen):

  • SORT_ASC - Oletus. Järjestä nousevassa järjestyksessä (A-Z).
  • SORT_DESC - Järjestä laskevassa järjestyksessä (Z-A).

Jälkimmäisenä voidaan määrittää järjestystyyppi:

  • SORT_REGULAR - Oletus. Järjestä jokainen kohta perusjärjestyksessä.
  • SORT_NUMERIC - Järjestä jokainen kohta numerollaan.
  • 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);
?>

运行实例