一个简单的给二维数组按照某个字段的值进行排序的算法
之前看到一道面试题,大概意思是尽可能的写出来给二维数组按照某个字段值排序的功能;比如说是下面数组结构:
$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
相关推荐
sasac 2020-09-25
huangjie0 2020-09-25
cloudking000 2020-09-11
xiaoxiaokeke 2020-07-28
mingyunxiaohai 2020-07-28
honghao0 2020-07-27
风吹夏天 2020-07-26
夕加加 2020-07-20
CallmeZhe 2020-06-29
zhoujiyu 2020-06-28
清风徐来水波不兴 2020-06-16
Happyunlimited 2020-06-15
wanff0 2020-06-14
cuiguanjun 2020-06-13
啸林 2020-06-12
jiayuqicz 2020-06-09
章鱼之家 2020-06-08
guangmingsky 2020-06-05