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

php 数组排序 array_multisort与uasort的区别

Jun 06, 2016 pm 08:36 PM
array_multisort Susun susunan

其实,简单的说两者的最重要的区别: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
)
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kaedah pengisihan tatasusunan pantas yang mengekalkan nama kunci dalam PHP Kaedah pengisihan tatasusunan pantas yang mengekalkan nama kunci dalam PHP May 02, 2024 pm 03:06 PM

Kaedah pengisihan tatasusunan pantas yang mengekalkan nama kunci dalam PHP

Pengisihan tatasusunan JS: analisis mendalam tentang prinsip kerja dan mekanisme kaedah sort(). Pengisihan tatasusunan JS: analisis mendalam tentang prinsip kerja dan mekanisme kaedah sort(). Dec 28, 2023 am 11:47 AM

Pengisihan tatasusunan JS: analisis mendalam tentang prinsip kerja dan mekanisme kaedah sort().

Bagaimana untuk mengekalkan nama kunci selepas menyusun tatasusunan PHP mengikut nilai? Bagaimana untuk mengekalkan nama kunci selepas menyusun tatasusunan PHP mengikut nilai? May 02, 2024 pm 04:09 PM

Bagaimana untuk mengekalkan nama kunci selepas menyusun tatasusunan PHP mengikut nilai?

Panduan untuk menulis algoritma pengisihan tersuai untuk tatasusunan PHP Panduan untuk menulis algoritma pengisihan tersuai untuk tatasusunan PHP Apr 27, 2024 pm 06:12 PM

Panduan untuk menulis algoritma pengisihan tersuai untuk tatasusunan PHP

Isih tatasusunan mengikut peraturan pengisihan tersuai dalam PHP, mengekalkan nama kunci asal Isih tatasusunan mengikut peraturan pengisihan tersuai dalam PHP, mengekalkan nama kunci asal May 04, 2024 am 09:27 AM

Isih tatasusunan mengikut peraturan pengisihan tersuai dalam PHP, mengekalkan nama kunci asal

Petua untuk pengisihan berbilang dimensi tatasusunan PHP: Mengoptimumkan kecekapan pengisihan Petua untuk pengisihan berbilang dimensi tatasusunan PHP: Mengoptimumkan kecekapan pengisihan Apr 30, 2024 am 09:54 AM

Petua untuk pengisihan berbilang dimensi tatasusunan PHP: Mengoptimumkan kecekapan pengisihan

Algoritma PHP: Bagaimana untuk menggunakan isihan gelembung untuk meningkatkan kecekapan pengisihan tatasusunan? Algoritma PHP: Bagaimana untuk menggunakan isihan gelembung untuk meningkatkan kecekapan pengisihan tatasusunan? Sep 19, 2023 am 10:28 AM

Algoritma PHP: Bagaimana untuk menggunakan isihan gelembung untuk meningkatkan kecekapan pengisihan tatasusunan?

Isih tatasusunan mengikut nilai kunci berbilang peringkat dalam PHP, mengekalkan nama kunci Isih tatasusunan mengikut nilai kunci berbilang peringkat dalam PHP, mengekalkan nama kunci Apr 30, 2024 am 11:48 AM

Isih tatasusunan mengikut nilai kunci berbilang peringkat dalam PHP, mengekalkan nama kunci

See all articles