资讯专栏INFORMATION COLUMN

一个简单的给二维数组按照某个字段的值进行排序的算法

Bmob / 3429人阅读

摘要:之前看到一道面试题,大概意思是尽可能的写出来给二维数组按照某个字段值排序的功能比如说是下面数组结构按照年龄对用户进行排序大家第一眼感觉应该是用循环,然后用冒泡排序之类的去计算但这一道题显然不是去考察大众都能想到的它应该是想考一下求职者对基本

之前看到一道面试题,大概意思是尽可能的写出来给二维数组按照某个字段值排序的功能;比如说是下面数组结构:

$users = [
    ["name" => "Alice", "age" => 15],
    ["name" => "Blob", "age" => 19],
    ["name" => "James", "age" => 14],
];

按照年龄对用户进行排序;大家第一眼感觉应该是用循环,然后用冒泡排序之类的去计算;但这一道题显然不是去考察大众都能想到的; 它应该是想考一下求职者对php基本函数的用法,也就是 sort ksort usort 之类的函数;

简单写一下:

usort($users, function($prev, $next){
        return $prev["age"] > $next["age"];
});

感兴趣的可以执行下看结果;

php语法虽然让人很难受,但不得不说很多函数的功能确实很细节,所以大家在看到或者工作中遇到类似的需求,可以先尝试下php默认函数能不能解决,这样你的代码质量也会很高,这将是提升自己的一个很好途径。

本文首发地址: https://www.phpdish.com/posts/76

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

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

相关文章

  • 方法和数组就是这么简单

    摘要:数组就是一个简单的线性序列,这使得元素访问非常快速。堆区堆内存用来存放创建的对象和数组。堆内存中的实体不再被指向时,启动垃圾回收机制,自动清除,这也是优于的表现之一中需要程序员手动清除。 showImg(https://segmentfault.com/img/remote/1460000019264541?w=600&h=242); 第三章 方法和数组 3.1 概述 还记得我们的He...

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

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

    senntyou 评论0 收藏0
  • 校招社招必备核心前端面试问题与详细解答

    摘要:本文总结了前端老司机经常问题的一些问题并结合个人总结给出了比较详尽的答案。网易阿里腾讯校招社招必备知识点。此外还有网络线程,定时器任务线程,文件系统处理线程等等。线程核心是引擎。主线程和工作线程之间的通知机制叫做事件循环。 showImg(https://segmentfault.com/img/bVbu4aB?w=300&h=208); 本文总结了前端老司机经常问题的一些问题并结合个...

    DevTalking 评论0 收藏0
  • 第17部分_反射机制

    摘要:如果此对象表示非静态上下文中声明的内部类,则形参类型作为第一个参数包括显示封闭的实例。参数字段名返回此类中指定字段的对象抛出如果找不到带有指定名称的字段。 一、类的加载 1. 概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化 2. 加载 就是指将class文件读入内存,并为之创建一个Class对象 任何类被使用时系统都...

    trilever 评论0 收藏0

发表评论

0条评论

Bmob

|高级讲师

TA的文章

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