资讯专栏INFORMATION COLUMN

array_multisort 使用笔记

songjz / 2464人阅读

摘要:一开始遇到这个函数时,看手册怎么就是看不懂,很不理解。后来在网上看了很多的例子才慢慢理解一点。现在记下来,留着用。然后如语句一样排序即可

一开始遇到array_multisort 这个函数时,看手册 怎么就是看不懂,很不理解。后来在网上看了很多的例子 才慢慢理解一点。现在记下来,留着用。

一,一维数组排序
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a);

结果:

Array(
[0] => Bear
[1] => Cat
[2] => Dog
[3] => Horse
[4] => Zebra)

上面就是按照普通的字母升序排列(A,B,C,D...),没什么好讲的

二,多个一维数组排序
$ar1 = array(22,12,3);
$ar2 = array(1,3,7);
array_multisort($ar1, $ar2);
echo "
";
print_r($ar1);
print_r($ar2);

结果:

Array(
    [0] => 3
    [1] => 12
    [2] => 22
)
Array
(
    [0] => 7
    [1] => 3
    [2] => 1
)    

$ar1和$ar2的数据可以看成一个表 如下:

$ar1和$ar2分别为列名,然后如sql语句一样select * from table order by $ar1 asc ,$ar2 asc 排序即可

三,多维数组排序

通常我们从数据库取出来的

$data=array(
    array("id" => 67, "score" => 20,"name"=>"小明"),
    array("id" => 86, "score" => 10,"name"=>"小红"),
    array("id" => 85, "score" => 60,"name"=>"小花")
); 
  
foreach ($data as $key => $row) {
    $id[$key]  = $row["id"];
    $score[$key] = $row["score"];
}
array_multisort($id, SORT_ASC, $data);
echo "
";
print_r($data);

结果:

    Array
    (
        [0] => Array
        (
            [id] => 67
            [score] => 2
            [name] => 小明
        )

        [1] => Array
        (
            [id] => 85
            [score] => 6
            [name] => 小花
        )
        [2] => Array
        (
            [id] => 86
            [score] => 1
            [name] => 小红
        )
    )

此时,把id,score,name看成列名称如图

如果想按照某个字段排序 ,先循环获取到所有该字段的值形成一个数组,然后按照该字段排序即可。然后如sql语句一样select * from table order by $id asc 排序即可

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25821.html

相关文章

  • PHP函数之array_multisort()

    摘要:函数之说明函数返回排序数组。把每一项按常规顺序排列,不改变类型。把每一项作为字符串来处理,基于当前区域设置可通过进行更改。示例一维多个数组排序结果相同时,排序在的前面多维数组排序结果 PHP函数之array_multisort() array_multisort() 说明: array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接...

    RaoMeng 评论0 收藏0
  • 二维数组排序函数array_multisort()

    摘要:文章转载自有时候我们需要对二维数组的某个键的值进行排序,这里就是讨论这个问题。第一个数组是要排序的主要数组。将每一项按常规顺序排列。规定输入的数组。可以在每个数组后设置排序顺序和排序类型。 文章转载自:http://www.nowamagic.net/libr... 有时候我们需要对二维数组的某个键的值进行排序,这里就是讨论这个问题。我们可以使用array_multisort()这个函...

    senntyou 评论0 收藏0
  • php 二维数组排序

    摘要:前提给定一个二维数组,请根据指定的数组写出最优的排序。排序条件,指定数组如下估计大家都没有什么问题,排序嘛,简单的不要不要的方式一这应该是最简单的方式了,直接使用现成的函数,快捷的不要不要的。 前提 给定一个二维数组,请根据指定的数组key,写出最优的排序。排序条件age asc,sex desc,指定数组如下: $arr = [ [id=>1, age=>1,...

    ashe 评论0 收藏0
  • PHP数组多个字段分别排序

    摘要:数组按其中一个字段排序数组个字段排序,先按第一个字段排序,再按第二个字段排序扩展方法最多支持对数组个字段排序,当然可以扩充的自定义方法重载实现对多维数字的排序。 1. PHP数组Array按其中一个字段排序 /** * Sort array by filed and type, common utility method. * @param array $data * @param s...

    liujs 评论0 收藏0
  • 数组排序函数-php数组函数(一)

    摘要:下列的所有排序函数都是直接作用于数组本身,而不是返回一个新的有序的数组。倒序并保持索引关系,按键名排序按键名倒序使用用户自定义的比较函数对数组中的值进行排序,要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。 数组排序,共13个 函数中有u的,能自定义比较函数;有k的,按照键来排序;有r(reverse)的,倒序;有a(association)的,一定是键值关联,除了r...

    call_me_R 评论0 收藏0

发表评论

0条评论

songjz

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<