Home  >  Article  >  Backend Development  >  PHP function array_multisort() to sort multiple arrays or multidimensional arrays

PHP function array_multisort() to sort multiple arrays or multidimensional arrays

黄舟
黄舟Original
2017-11-08 10:16:071532browse

Example

Returns an array in ascending order:

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

Definition and usage

array_multisort() function returns a sorted array. You can enter one or more arrays. The function sorts the first array first, then the other arrays, and if two or more values ​​are the same, it sorts the next array.

Notes: StringKey names will be preserved, but numeric key names will be re-indexed, starting at 0 and increasing by 1.

Note: You can set the sort order and sort type parameters after each array. If not set, each array parameter will use its default value .

Syntax

array_multisort(array1,sorting order,sorting type,array2,array3...)
Parameters Description
array1 Required. Specifies an array.
sorting order Optional. Specify the order of sorting. Possible values:
  • SORT_ASC - Default. Sort in ascending order (A-Z).

  • SORT_DESC - Sort in descending order (Z-A).

sorting type Optional. Specifies the sorting type. Possible values:
  • SORT_REGULAR - Default. Put each item in regular order (Standard ASCII, don't change the type).

  • SORT_NUMERIC - Treat each item as a number.

  • SORT_STRING - Treat each item as a string.

  • SORT_LOCALE_STRING - Treats each item as a string, based on the current locale (can be changed via setlocale() ).

  • SORT_NATURAL - Treat each item as a string, using natural sorting like natsort() .

  • SORT_FLAG_CASE - Can be combined (bitwise OR) with SORT_STRING or SORT_NATURAL to sort strings, case-insensitively.

array2 Optional. Specifies an array.
array3 Optional. Specifies an array.

技术细节

返回值: 如果成功则返回 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);
?>


The above is the detailed content of PHP function array_multisort() to sort multiple arrays or multidimensional arrays. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn