search
Homephp教程php手册php 数组排序 array_multisort与uasort的区别

其实,简单的说两者的最重要的区别:array_multisort()排序之后,原数组“键”丢失。uasort()排序之后,保留原来的“键”。

Example:(简练)
uasort($arr,create_function('$a, $b','return $a[\'line_num\']*************函数定义和语法*************
array_multisort
(PHP4 >= 4.0b4)
array_multisort --- 排序复合或多样尺寸的数组
语法 : bool array_multisort (array ar1 [,mixed arg [,mixed ...[,array...]]])
说明 :
Array_multisort( )能用来立刻将数个数组或多样尺寸(multi-dimensional)数组排序。
输入的数组被看作是表格(table)的栏位,依照列(rows)将它排序,这类似于SQL ORDER BY clause的功能,第一个数组是首要(primary)排序的数组,此数组中的列(值)以下一个输入的数组对照相同的排序。
这个函数的引数结构是个独特(unusual)位元,但是是可变通的。第一个引数必定是个数组,随后的引数可以是个数组或是下个列表的排序旗标(flag)之一。
排序顺序旗标 :
SORT_ASC - 排序成上升的顺序
SORT_DESC - 排序成下降的顺序
排序型态旗标 :
SORT_REGULAR - 正常的比较项目
SORT_NUMERIC - 以数字比较项目
SORT_STRING - 看作是字符串来比较项目
不能使用二个相同型态的旗标指定在各各数组之后,排序的旗标指定在数组引数的后面,只对此数组起作用,其它的将重设为预设的SORT_ASC和SORT_REGULAR在数组引数之后。
成功则传回true,失败则传回false。
*************函数定义和语法*************
uasort()
函数使用用户自定义的比较函数对数组排序,并保持索引关联(不为元素分配新的键)。
如果成功则返回 TRUE,否则返回 FALSE。
该函数主要用于对那些单元顺序很重要的结合数组进行排序。
语法
uasort(array,sorttype)参数 描述
array 必需。规定要排序的数组。
function 必需。用户自定义的函数。
函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:
如果 a = b, 返回 0
如果 a 如果 a > b, 返回 -1
PHP uasort() 函数
定义和用法
uasort() 函数使用用户自定义的比较函数对数组排序,并保持索引关联(不为元素分配新的键)。
如果成功则返回 TRUE,否则返回 FALSE。
该函数主要用于对那些单元顺序很重要的结合数组进行排序。
语法
uasort(array,sorttype)参数 描述
array 必需。规定要排序的数组。
function 必需。用户自定义的函数。
函数必须设计为返回 -1, 0, 或 1,并应该接受两个供比较的参数,同时以类似下面这样的方式来工作:
如果 a = b, 返回 0
如果 a 如果 a > b, 返回 -1
例子
代码如下:
function my_sort($a, $b)
{
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
$people = array("Swanson" => "Joe",
"Griffin" => "Peter", "Quagmire" => "Glenn",
"swanson" => "joe", "griffin" => "peter",
"quagmire" => "glenn");
uasort($people, "my_sort");
print_r ($people);
?>

输出:
代码如下:
Array
(
[griffin] => peter
[swanson] => joe
[quagmire] => glenn
[Griffin] => Peter
[Swanson] => Joe
[Quagmire] => Glenn
)
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
PHP 中保留键名的快速数组排序方法PHP 中保留键名的快速数组排序方法May 02, 2024 pm 03:06 PM

PHP中保留键名的快速数组排序方法:使用ksort()函数对键进行排序。使用uasort()函数使用用户定义的比较函数进行排序。实战案例:要按分数对用户ID和分数的数组进行排序,同时保留用户ID,可以使用uasort()函数和自定义比较函数。

JS数组排序:sort()方法的工作原理和机制深入解析JS数组排序:sort()方法的工作原理和机制深入解析Dec 28, 2023 am 11:47 AM

深入理解JS数组排序:sort()方法的原理与机制,需要具体代码示例导语:数组排序是在我们日常的前端开发工作中非常常见的操作之一。JavaScript中的数组排序方法sort()是我们最常使用的数组排序方法之一。但是,你是否真正了解sort()方法的原理与机制呢?本文将带你深入理解JS数组排序的原理和机制,并提供具体的代码示例。一、sort()方法的基本用法

PHP 数组自定义排序算法的编写指南PHP 数组自定义排序算法的编写指南Apr 27, 2024 pm 06:12 PM

如何编写自定义PHP数组排序算法?冒泡排序:通过比较和交换相邻元素来排序数组。选择排序:每次选择最小或最大元素并将其与当前位置交换。插入排序:逐个插入元素到有序部分。

PHP 数组按值排序后如何保持键名?PHP 数组按值排序后如何保持键名?May 02, 2024 pm 04:09 PM

在PHP中按值排序数组,同时保留键名的方法是:使用usort()函数按值排序数组。向usort()函数传递一个匿名函数作为比较函数,该函数返回元素值的差值。usort()会根据匿名函数对数组进行排序,同时保持键名不变。

PHP 中按自定义排序规则对数组进行排序,保留原始键名PHP 中按自定义排序规则对数组进行排序,保留原始键名May 04, 2024 am 09:27 AM

在PHP中,使用uasort()函数可按自定义排序规则对数组进行排序,同时保留原始键名。自定义比较函数是一个接受两个元素作为输入并返回整数的函数:负数表示前者小于后者,零表示相等,正数表示前者大于后者。

PHP数组多维排序的妙招:优化排序效率PHP数组多维排序的妙招:优化排序效率Apr 30, 2024 am 09:54 AM

优化PHP中多维数组排序的技巧:创建用户自订函数进行排序使用array_multisort()函数应用多维键重排序实战案例:按数组键值对对产品排序

PHP中的asort()函数对数组按值进行排序PHP中的asort()函数对数组按值进行排序Nov 18, 2023 am 10:56 AM

PHP中的asort()函数对数组按值进行排序,需要具体代码示例PHP是一种广泛使用的服务器端脚本语言,它具有丰富的数组处理函数。其中,asort()函数是一个非常有用的函数,它可以按照数组的值进行排序。本文将详细介绍asort()函数的使用方法,并给出具体的代码示例。asort()函数的作用是对数组按照值进行升序排列,同时保持键和值的关联。它是通过修改原数

PHP算法:如何使用冒泡排序提高数组排序效率?PHP算法:如何使用冒泡排序提高数组排序效率?Sep 19, 2023 am 10:28 AM

PHP算法:如何使用冒泡排序提高数组排序效率?冒泡排序是一种简单但效率较低的排序算法,但我们可以通过一些优化策略提高冒泡排序的效率。本文将介绍如何使用PHP中的冒泡排序算法优化数组的排序过程,并提供具体的代码示例。冒泡排序的基本原理是,每次从数组的第一个元素开始,依次比较相邻两个元素的大小,如果前一个元素大于后一个元素,则交换它们的位置。这样一轮比较下来,最

See all articles

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

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.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version