这次给大家带来php自定义二维数组排序函数array,php自定义二维数组排序函数array的注意事项有哪些,下面就是实战案例,一起来看一下。

这篇文章主要介绍了php自定义二维数组排序函数array_orderby用法,结合实例形式分析了php针对二维数组进行排序的相关遍历、判定、排序等操作技巧,需要的朋友可以参考下

本文实例讲述了php自定义二维数组排序函数array_orderby用法。分享给大家供大家参考,具体如下:<?php

/**

I came up with an easy way to sort database-style results. This does what example 3 does, except it takes care of creating those intermediate arrays for you before passing control on to array_multisort().

*/

function array_orderby()

{

$args = func_get_args();

$data = array_shift($args);

foreach ($args as $n => $field) {

if (is_string($field)) {

$tmp = array();

foreach ($data as $key => $row)

$tmp[$key] = $row[$field];

$args[$n] = $tmp;

}

}

$args[] = &$data;

call_user_func_array('array_multisort', $args);

return array_pop($args);

}

/*

The sorted array is now in the return value of the function instead of being passed by reference.

*/

$data[] = array('volume' => 67, 'edition' => 2);

$data[] = array('volume' => 86, 'edition' => 1);

$data[] = array('volume' => 85, 'edition' => 6);

$data[] = array('volume' => 98, 'edition' => 2);

$data[] = array('volume' => 86, 'edition' => 6);

$data[] = array('volume' => 67, 'edition' => 7);

// Pass the array, followed by the column names and sort flags

$sorted = array_orderby($data, 'volume', SORT_DESC, 'edition', SORT_ASC);

print_r($sorted)

?>

运行结果:Array

(

[0] => Array

(

[volume] => 98

[edition] => 2

)

[1] => Array

(

[volume] => 86

[edition] => 1

)

[2] => Array

(

[volume] => 86

[edition] => 6

)

[3] => Array

(

[volume] => 85

[edition] => 6

)

[4] => Array

(

[volume] => 67

[edition] => 2

)

[5] => Array

(

[volume] => 67

[edition] => 7

)

)

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

php 二维数组排序函数,php自定义二维数组排序函数array相关推荐

  1. C 二维数组,以及自定义二维数组

    C 二维数组,以及自定义二维数组 我们通常情况下是这样定义一个二维数组的: int a[10][15]; 我们分别查看一下a,a[0],*a 都是一样的值吧 我们可以这么理解: a是一个数组的数组 a ...

  2. 【数字图像处理与python】自定义三维数组转换为彩色图像、自定义二维数组转为灰度图像

    自定义三维数组转换为彩色图像 """自定义三维数组转换为彩色图像""" import skimage import numpy as np# ...

  3. py6_Python 内置函数/普通自定义函数 及参数和返回值

    ################################################## 目录 活动简介 Python 函数参数 如何定义一个函数 示例定义一个无参函数 形参和实参的概念 ...

  4. 前端:JS/22/函数(函数的概念,函数的定义格式,函数定义格式的说明,函数的调用,函数的参数),全局变量和局部变量,拷贝传值和引用传址,匿名函数,二维数组,对象,自定义对象的创建

    函数 1,函数的概念 函数,是将一段公共的代码进行封装,给它起个名字叫"函数" 函数可以一次定义,多次调用:函数可以将常用的功能代码,进行封装,如:用户名的验证,验证码函数,邮箱验 ...

  5. 程序员的乐趣,生成自定义二维码,5 行 Python 代码就搞定

    选自 | towardsdatascience 作者 | Arindom Bhattacharjee 转自 | 机器之心 参与 | 杜伟.小舟 随处可见的二维码是怎么生成的?自己做一个试试吧. 随着互 ...

  6. 程序员的乐趣,生成自定义二维码,5行Python代码就解决

    随处可见的二维码是怎么生成的?自己做一个试试吧. 随着互联网和智能移动设备不断普及,二维码(Quick Response code)已经成为世界上应用最为广泛的信息载体之一.生成二维码的工具也层出不穷 ...

  7. php 二维数组 随机排序_php二维数组排序—默认自然排序

    什么是二维数组?二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩阵称变方阵.对称矩阵a ...

  8. php 二维数组 第一个,php二维数组排序几种方法

    二维数组排序排序在php中也提供了一个函数array_multisort就可以直接排序了,下面我来介绍除了全使用array_multisort 对数组进行排序我们还写了一些自定二维数组排序方法. 有时 ...

  9. C语言:批量初始化二维整型数组及二维整型数组作函数参数的重要知识点[C_006]

    目录 概述:二维整形数组和二维字符数组在处理过程中有些微妙的差异值得注意,否则容易出错. 1.二维整形数组的初始化 2.常见场景:把二维整形数组的元素初始化为相同值 3.应用场景,二维数组作函数的参数 ...

最新文章

  1. 极客新闻——19、如何从单体架构平滑过渡到微服务
  2. b站python教程哪个好_推荐B站上的Python学习资源
  3. KineticJS教程(6)
  4. MySQL 高级 - 输入参数
  5. oracle存在于A不存在于B,Oracle试题
  6. TensorFlow 2快速入门之安装与测试
  7. 基于机器视觉的细小金属件表面污渍检测
  8. 2019中国云计算十一大趋势预测与分析
  9. 四阶龙格库塔法的基本思想_四阶龙格库塔法(Runge-Kutta)求解微分方程.PDF
  10. 女孩不是拜金,是败给了生活
  11. 数字人民币的基础:共识与信任
  12. lol服务器位置2017,LOL甜心宝贝的琴音和弦2017抽皮肤网页地址
  13. 微信小游戏声明文件(d.ts)
  14. 圣诞节实用礼物有哪些?高性价比的蓝牙耳机分享
  15. AI芯片独角兽寒武纪 - 诚聘虚拟化/深度学习框架/系统软件研发工程师
  16. Max and Mex
  17. 解决TeamViewer软件提示试用期已到期无法进行远程操作
  18. 让我们旋转跳跃不停歇~~~当3D打印遇上八音盒!(三)
  19. 计算机技术预测蛋白质结构,线上分享 | 同源建模预测蛋白质结构,中科院计算所ProALIGN研究解读...
  20. V-Ray 管理器使用帮助

热门文章

  1. 解决:UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position错误
  2. Python分析离散心率信号(中)
  3. 色彩(颜色)空间原理(下)
  4. 语义分割车道线,来自两篇论文的融合算法
  5. 【CV】吴恩达机器学习课程笔记 | 第1-2章
  6. php set medias,laravel5.1 -- Integrate FileManager and CKeditor into laravel
  7. python rjust() 方法 与 ljust()方法 的使用
  8. This version of Android Studio cannot open this project, please retry with Android Studio 3.5 or new
  9. android edittext 默认不获取焦点
  10. 个人作业1——四则运算题目生成程序