search
Homephp教程php手册PHP多维数组排序保持索引对应

PHP多维数组排序保持索引对应

Jun 06, 2016 pm 07:53 PM
liphpmultidimensionalsortarrayindexEnter

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 实际开发中,多多少少都会遇到数组的排序问题,除了常规的写简单的排序算法,PHP 还提供了内置数组排序函数,本次重点分享一下:uasort 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  实际开发中,多多少少都会遇到数组的排序问题,除了常规的写简单的排序算法,PHP 还提供了内置数组排序函数,本次重点分享一下:uasort  使用用户自定义的比较函数对数组中的值进行排序并保持索引关联,可排序多维数组,本文重点讲解此函数。

  uasort 函数

  参数类型:bool uasort ( array &$array, callable $cmp_function)

  本函数对数组排序并保持索引和单元之间的关联。

  主要用于对那些单元顺序很重要的结合数组进行排序。比较函数是用户自定义的。

  成功时返回 TRUE, 或者在失败时返回 FALSE.

  数组排序实例(非class中):

  复制代码

  1 /**

  2  * 自定义排序函数

  3  * @param $param1

  4  * @param $param2

  5  * @return 0(不移动) 1(正向调换顺序) -1(逆向调换顺序)

  6  */

  7

  8 function my_sort($param1, $param2){

  9     if($param1 == $param2) return 0;

  10     else return $param1 > $param2 ? 1 : -1;

  11 }

  12

  13 $arr = array(

  14             'a'=>'20',

  15             'b'=>'1',

  16             'c'=>'10',

  17             'd'=>'5',

  18             'e'=>'21',

  19             'f'=>'4',

  20             'g'=>'3',

  21         );

  22

  23 uasort($arr, 'my_sort');

  24

  25 var_dump($arr);

  26

  27 /*输出值

  28 array (size=7)

  29   'b' => string '1' (length=1)

  30   'g' => string '3' (length=1)

  31   'f' => string '4' (length=1)

  32   'd' => string '5' (length=1)

  33   'c' => string '10' (length=2)

  34   'a' => string '20' (length=2)

  35   'e' => string '21' (length=2)

  36 */

  复制代码

  多维数组排序实例(非class中):

  复制代码

  /**

  * 自定义排序函数

  * @param $param1

  * @param $param2

  * @return 0(不移动) 1(正向调换顺序) -1(逆向调换顺序)

  */

  function my_sort($param1, $param2){

  if($param1['value'] == $param2['value']) return 0;

  else return $param1['value'] > $param2['value'] ? 1 : -1;

  }

  $arr = array(

  'a'=>array('key'=>'定义1', 'value'=>'20'),

  'b'=>array('key'=>'定义2', 'value'=>'1'),

  'c'=>array('key'=>'定义3', 'value'=>'10'),

  'd'=>array('key'=>'定义4', 'value'=>'5'),

  'e'=>array('key'=>'定义5', 'value'=>'21'),

  'f'=>array('key'=>'定义6', 'value'=>'4'),

  'g'=>array('key'=>'定义7', 'value'=>'3'),

  );

[1] [2] [3] 

PHP多维数组排序保持索引对应

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.