PHP function na array_multisort()

Sample

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

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

运行实例

Paglilingkuran at paggamit

Ang function na array_multisort() ay nangyayari ay ibibigay ang isang nagtatalagang array. Maaaring ipasok mo isang o maraming array. Ang function ay unang nagtatalaga sa unang array, pagkatapos ay sa ibang array, kung ang dalawang o maraming halaga ay magkapareho, ito ay magtatalaga sa susunod na array.

Komento:Ang pangalan ng string na key ay mananatili, ngunit ang pangalan ng key na numeriko ay muling mapapag-isyu, mula 0 at nagpapatuloy sa 1.

Komento:Maaaring itakda ang pagkakasunod-sunod at uri ng pag-ayus pagkatapos ng bawat array. Kung hindi ito itakda, gamitin ang bawat argumento ng array ang default na halaga.

Syntax

array_multisort(array1,sorting order,sorting type,array2,array3...)
Mga argumento Paglalarawan
array1 Mandahil. Itakda ang array.
sorting order

Optional. Itakda ang pagkakasunod-sunod. Ang posibleng halaga:

  • SORT_ASC - Default. Ayusapin ayon sa pagtaas ng order (A-Z).
  • SORT_DESC - Ayusapin ayon sa pagbaba ng order (Z-A).
sorting type

Optional. Itakda ang uri ng pag-ayus. Ang posibleng halaga:

  • SORT_REGULAR - Default. Iayus ang bawat isang item ayon sa regular na pagkakasunod-sunod (Standard ASCII, hindi nagbabago ng uri).
  • SORT_NUMERIC - Ipagawas ang bawat isang item bilang isang numero.
  • SORT_STRING - Ipagawas ang bawat isang item bilang isang string.
  • SORT_LOCALE_STRING - Ipagawas ang bawat isang item bilang isang string, base sa kasalukuyang setting ng rehiyon (maaaring baguhin sa pamamagitan ng setlocale()).
  • SORT_NATURAL - Ipagawasan ang bawat isang item bilang isang string, gamit ang likas na pag-ayus na katulad ng natsort().
  • SORT_FLAG_CASE - Maaaring ipagsama (bitwise OR) ang SORT_STRING o SORT_NATURAL upang ayusin ang string, hindi nag-iisa ang laki ng letra.
array2 Optional. Itakda ang array.
array3 Optional. Itakda ang array.

Paliwanag

Ang function na array_multisort() ay ginagamit upang ayusin ang maraming array o multidimensional array.

Ang array sa argumento ay ginagamit bilang isang sulok ng isang talahanayan at ayusapin ayon sa halina - ito ay katulad ng function na ORDER BY sa SQL. Ang unang array ay ang pangunahing array na ayusin. Kung ang mga halina sa array ay magkapareho, ayusin ang susunod na input na array ng kaibahan ng halina, at ipinagpatuloy ang proseso.

Ang unang argumento ay isang array, ang bawat susunod na argumento ay maaaring maging isang array o isa sa mga sumusunod na tanda ng pag-ayus (ang tanda ng pag-ayus ay ginagamit upang baguhin ang default na pagkakasunod-sunod).

  • SORT_ASC - Default, ayusapin ayon sa pagtaas ng order (A-Z).
  • SORT_DESC - Ayusapin ayon sa pagbaba ng order (Z-A).

Maaaring itakda ang uri ng pag-ayus pagkatapos:

  • SORT_REGULAR - Default. Ayusapin ang bawat isang item ayon sa regular na pagkakasunod-sunod.
  • SORT_NUMERIC - Ayusapin ang bawat isang item ayon sa numerong pagkakasunod-sunod.
  • 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);
?>

运行实例