array_multisort()函数对多个数组或多维数组进行排序
2016-10-24 20:51
501 查看
PHP array_multisort() 函数
PHP Array 函数
定义和用法
array_multisort() 函数对多个数组或多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:
SORT_ASC - 默认,按升序排列。(A-Z)
SORT_DESC - 按降序排列。(Z-A)
随后可以指定排序的类型:
SORT_REGULAR - 默认。将每一项按常规顺序排列。
SORT_NUMERIC - 将每一项按数字顺序排列。
SORT_STRING - 将每一项按字母顺序排列。
语法
array_multisort(array1,sorting order,sortingtype,array2,array3...)
参数 描述
array1 必需。规定输入的数组。
sorting order 可选。规定排列顺序。可能的值是 SORT_ASC 和 SORT_DESC。
sorting type可选。规定排序类型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。
array2 可选。规定输入的数组。
array3 可选。规定输入的数组。
提示和注释
注释:字符串键名将被保留,但是数字键将被重新索引,从 0 开始,并以 1 递增。
注释:您可以在每个数组后设置排序顺序和排序类型。如果没有设置,每个数组参数会使用默认值。
<$data = array(array("id" => 1, "name" => "Boney M","rating" => 3),
array("id" => 2, "name" => "Take That", "rating" =>1),
array("id" => 3, "name" => "The Killers", "rating" =>4),
array("id" => 4, "name" => "Lusain", "rating" =>3),
); foreach ($data as $key => $value) {
$name[$key] = $value['name'];
$rating[$key] = $value['rating'];
}
array_multisort($rating, $name, $data);print_r($data);>
这里,我们在$data数组中模拟了一个行和列数组。然后,我使用array_multisort()函数对数据集合进行重排,首先是根据rating
进行排序,然后,如果rating相等的话,再根据name排序。它的输出结果如下:
Array ([0] => Array
(
[id] => 2
[name] => Take That
[rating] => 1
) [1] => Array
(
[id] => 1
[name] => Boney M
[rating] => 3
)
[2] => Array
(
[id] => 4
[name] => Lusain
[rating] => 3
)
[3] => Array
(
[id] => 3
[name] => The Killers
[rating] => 4
)
)
array_multisort()函数是PHP中最有用的函数之一,它有非常广泛的应用范围。另外,就如你在例子中所看到的,它能对多个不相
关的数组进行排序,也可以使用其中的一个元素作为下次排序的基础,还可以对数据库结果集进行排序。
源自http://www.w3school.com.cn/php/func_array_multisort.asp
http://my.oschina.net/adamboy/blog/28644
一般在应用于多维数组排序时,通常会使用array_multisort()函数。
PHP Array 函数
定义和用法
array_multisort() 函数对多个数组或多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:
SORT_ASC - 默认,按升序排列。(A-Z)
SORT_DESC - 按降序排列。(Z-A)
随后可以指定排序的类型:
SORT_REGULAR - 默认。将每一项按常规顺序排列。
SORT_NUMERIC - 将每一项按数字顺序排列。
SORT_STRING - 将每一项按字母顺序排列。
语法
array_multisort(array1,sorting order,sortingtype,array2,array3...)
参数 描述
array1 必需。规定输入的数组。
sorting order 可选。规定排列顺序。可能的值是 SORT_ASC 和 SORT_DESC。
sorting type可选。规定排序类型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。
array2 可选。规定输入的数组。
array3 可选。规定输入的数组。
提示和注释
注释:字符串键名将被保留,但是数字键将被重新索引,从 0 开始,并以 1 递增。
注释:您可以在每个数组后设置排序顺序和排序类型。如果没有设置,每个数组参数会使用默认值。
<$data = array(array("id" => 1, "name" => "Boney M","rating" => 3),
array("id" => 2, "name" => "Take That", "rating" =>1),
array("id" => 3, "name" => "The Killers", "rating" =>4),
array("id" => 4, "name" => "Lusain", "rating" =>3),
); foreach ($data as $key => $value) {
$name[$key] = $value['name'];
$rating[$key] = $value['rating'];
}
array_multisort($rating, $name, $data);print_r($data);>
这里,我们在$data数组中模拟了一个行和列数组。然后,我使用array_multisort()函数对数据集合进行重排,首先是根据rating
进行排序,然后,如果rating相等的话,再根据name排序。它的输出结果如下:
Array ([0] => Array
(
[id] => 2
[name] => Take That
[rating] => 1
) [1] => Array
(
[id] => 1
[name] => Boney M
[rating] => 3
)
[2] => Array
(
[id] => 4
[name] => Lusain
[rating] => 3
)
[3] => Array
(
[id] => 3
[name] => The Killers
[rating] => 4
)
)
array_multisort()函数是PHP中最有用的函数之一,它有非常广泛的应用范围。另外,就如你在例子中所看到的,它能对多个不相
关的数组进行排序,也可以使用其中的一个元素作为下次排序的基础,还可以对数据库结果集进行排序。
源自http://www.w3school.com.cn/php/func_array_multisort.asp
http://my.oschina.net/adamboy/blog/28644
一般在应用于多维数组排序时,通常会使用array_multisort()函数。
相关文章推荐
- PHP - Manual手册 - V. Array 数组函数 - array_multisort对多个数组或多维数组进行排序
- php-Arrays 函数-array_multisort-对多个数组或多维数组进行排序
- array_multisort — 对多个数组或多维数组进行排序
- array_multisort—对多个数组或多维数组进行排序
- array_multisort — 对多个数组或多维数组进行排序
- PHP使用array_multisort对多个数组或多维数组进行排序
- PHP使用array_multisort对多个数组或多维数组进行排序
- php--多维数组排序函数array_multisort
- PHP array_multisort—对多个数组或多维数组进行排序
- 使用 array_multisort 对多维数组排序
- PHP数组排序函数array_multisort()函数详解
- array_multisort实现PHP多维数组排序示例讲解
- 多维数组排序 array_multisort()
- PHP array_multisort—对多个数组或多维数组进行排序
- PHP多维数组排序(array_multisort)
- php array_multisort 多维数组排序
- PHP array_multisort—对多个数组或多维数组进行排序
- PHP array_multisort—对多个数组或多维数组进行排序
- array_multisort实现PHP多维数组排序示例讲解
- 用array_map和array_multisort高效处理多维数组排序