美文网首页
php 二维数组排序

php 二维数组排序

作者: 风度翩翩的程序猿 | 来源:发表于2020-12-08 11:25 被阅读0次

我们的php教程上直接有数组排序的函数,或者我们来写冒泡来排序

但是二维数组的排序,我们要怎么来弄呢?

对于开发不是特别熟练的同学,可能会卡一段时间,就像我,很懵!!!

小弟来教你们,通过资料查阅,array_multisort()这个函数可以解决,可以对多个数组或多维数组进行排序,返回排序之后的数组,其中字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。
封装一下或许更方便:

/**
 * 二维数组按照指定字段进行排序
 * @params array $array 需要排序的数组
 * @params string $field 排序的字段
 * @params string $sort 排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
 */
function arraySequence($array, $field, $sort = 'SORT_DESC') {
 $arrSort = array();
 foreach ($array as $uniqid => $row) {
  foreach ($row as $key => $value) {
   $arrSort[$key][$uniqid] = $value;
  }
 }
 array_multisort($arrSort[$field], constant($sort), $array);
 return $array;
}
//测试:
$arrDemo = array(
array('name'=>'Jack','age'=>'22'),
array('name'=>'Tom','age'=>'24'),
array('name'=>'Green','age'=>'21'),
array('name'=>'Ben','age'=>'23'),);
$arrDemo = arraySequence($arrDemo,'age');
print_r($arrDemo);

相关文章

网友评论

      本文标题:php 二维数组排序

      本文链接:https://www.haomeiwen.com/subject/xmyfgktx.html