按子数组键值对多维数组进行排序

2023-11-22

为此发布了类似的问题和答案,但没有一个与我的数组的结构完全匹配,所以如果我错过了一些东西,我深表歉意。这是由 WordPress wpdb 类生成的数组:

Array ( 
[0] => Array ( [meta_id] => 37850 [post_id] => 5548 [meta_key] => Item # [meta_value] => 66002 ) 
[1] => Array ( [meta_id] => 37851 [post_id] => 5548 [meta_key] => Hex Size [meta_value] => .051" ) 
[2] => Array ( [meta_id] => 37852 [post_id] => 5548 [meta_key] => Across Flats [meta_value] => 0.051 ) 
[3] => Array ( [meta_id] => 37853 [post_id] => 5548 [meta_key] => Type [meta_value] => Hexagonal ) 
[4] => Array ( [meta_id] => 37854 [post_id] => 5548 [meta_key] => Shank [meta_value] => .315" ) ) 

Array ( 
[0] => Array ( [meta_id] => 37910 [post_id] => 5553 [meta_key] => Item # [meta_value] => 66008 ) 
[1] => Array ( [meta_id] => 37911 [post_id] => 5553 [meta_key] => Hex Size [meta_value] => 1/8" ) 
[2] => Array ( [meta_id] => 37912 [post_id] => 5553 [meta_key] => Across Flats [meta_value] => 0.127 ) 
[3] => Array ( [meta_id] => 37913 [post_id] => 5553 [meta_key] => Type [meta_value] => Hexagonal ) 
[4] => Array ( [meta_id] => 37914 [post_id] => 5553 [meta_key] => Shank [meta_value] => .315" ) ) 

Array ( 
[0] => Array ( [meta_id] => 37862 [post_id] => 5549 [meta_key] => Item # [meta_value] => 66004 ) 
[1] => Array ( [meta_id] => 37863 [post_id] => 5549 [meta_key] => Hex Size [meta_value] => 1/16" ) 
[2] => Array ( [meta_id] => 37864 [post_id] => 5549 [meta_key] => Across Flats [meta_value] => 0.063 ) 
[3] => Array ( [meta_id] => 37865 [post_id] => 5549 [meta_key] => Type [meta_value] => Hexagonal ) 
[4] => Array ( [meta_id] => 37866 [post_id] => 5549 [meta_key] => Shank [meta_value] => .315" ) ) 

Array ( 
[0] => Array ( [meta_id] => 37886 [post_id] => 5551 [meta_key] => Item # [meta_value] => 66006 ) 
[1] => Array ( [meta_id] => 37887 [post_id] => 5551 [meta_key] => Hex Size [meta_value] => 3/32" ) 
[2] => Array ( [meta_id] => 37888 [post_id] => 5551 [meta_key] => Across Flats [meta_value] => 0.095 ) 
[3] => Array ( [meta_id] => 37889 [post_id] => 5551 [meta_key] => Type [meta_value] => Hexagonal ) 
[4] => Array ( [meta_id] => 37890 [post_id] => 5551 [meta_key] => Shank [meta_value] => .315" ) ) 

我需要按 Array[meta_value] 的顺序列出它们。然后我使用该数组按该顺序生成产品表。我一直在使用以下函数,但它产生的结果没有任何意义:

function subval_sort($a,$subkey) {
    foreach($a as $k=>$v) {
        $b[$k] = strtolower($v[$subkey]);
    }
    asort($b);
    foreach($b as $key=>$val) {
        $c[] = $a[$key];
    }
    return $c;
}

Use usort(), 例子:

$items = [
    ['id' => 3, 'item' => 'pc'],
    ['id' => 1, 'item' => 'mouse'],
    ['id' => 2, 'item' => 'kb'],
];

function compare_id($a, $b) {
    if ($a['id'] == $b['id']) return 0;
    return ($a['id'] < $b['id']) ? -1 : 1;
}

usort($items, 'compare_id');

var_dump($items);    

或使用匿名函数

usort($items, function ($a, $b) {
    if ($a['id'] == $b['id']) return 0;
    return ($a['id'] < $b['id']) ? -1 : 1;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按子数组键值对多维数组进行排序 的相关文章

  • 获取过时的 Composer 软件包列表

    我想获取过时的软件包列表 这些软件包将在我发布时更新composer update 作曲家有这样的功能吗 如果没有 有没有办法做到这一点 有或没有作曲家 Update Since Composer v1 1 2016 年 5 月 https
  • Numpy:生成二维高斯 pdf 总和作为数组

    我正在尝试生成一个 600 x 600 numpy 数组 其中包含 10 个类似高斯数组的总和 每个数组都有一个随机生成的中心 我尝试使用高斯滤波器来生成各个类似高斯的数组 然后将它们相加 但我确信有一种矢量化的方法可以解决这个问题 即使n
  • 如何转换为在视图上使用 Yii CDataProvider?

    我正在尝试学习 Yii 并查看了 Yii 文档 但仍然没有真正理解 我仍然不知道如何在控制器和视图上使用 CDataProvider 来显示视图上可用的所有博客文章 任何人都可以根据以下内容提供建议或举例 我的 PostController
  • 如何通过 API 平台使用“paramconverter”?

    如何通过 Symfony API 平台实现或使用 paramconverter 我想在路线上使用实体 ID 并立即生成一个对象 准备在控制器中使用 我没有在这个项目上使用注释 路由配置位于 YAML 文件中 resources App Me
  • PHP:file_get_contents 与 json_decode 不能一起工作

    使用 file get contents 读取 json 文件后遇到问题 当我运行这段代码时 它工作正常
  • 验证数据库匹配中的 $_GET id 是否足够安全?

    我的网站上有 2 个页面 一个是 index php 索引页面列出了数据库中存在的所有帖子 另一个页面是 post php 当单击索引页面上的特定帖子时 帖子页面显示单个帖子 现在我用来列出 index php 上所有帖子的代码是 post
  • 登录代码示例已通过 SQL 注入被黑客攻击,尽管 mysql_real_escape_string...

    我使用 CodeIgniter 但在黑客攻击方面遇到了麻烦 是否可以对以下登录代码进行 SQL 注入 function process login username mysql real escape string this gt inpu
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • Kohana_Exception [ 0 ]:需要有效的 cookie salt。请设置 Cookie::$salt

    我正在学习本教程 http kowsercse com 2011 09 04 kohana tutorial beginners http kowsercse com 2011 09 04 kohana tutorial beginners
  • 执行数组内的函数

    是否可以从数组内部执行匿名函数 也在数组内部定义 return execute function logic 或者我应该在外面定义它然后再调用它 从技术上讲 您可以将该函数括在括号中并像这样调用它 return function retur
  • 如何在 JavaScript 中构建一个计算数组中出现次数的对象?

    我想计算数组中某个数字出现的频率 例如 在Python中我可以使用Collections Counter创建一个字典 记录某个项目在列表中出现的频率 据我所知 JavaScript 是这样的 var array 1 4 4 5 5 7 va
  • 为什么 mysqli num_rows 总是返回 0?

    我在使用 mysqli 获取要返回的行数时遇到了问题 尽管确实有一些结果 但我每次都只是得到 0 if stmt mysqli gt prepare SELECT id title visible parent id FROM conten
  • 是否保证 sizeof(T[N]) == N * sizeof(T) ?

    我一直假设 N 个元素类型的数组的大小T 由返回sizeof保证正好是N次sizeof T The 对这个问题的评论 https stackoverflow com questions 46457449 is it always the c
  • 为什么使用数组索引循环数组比指针访问慢?

    我正在读Kochan的书 Programming in C 在第 14 页的 指针和数组 部分中 264 他说 一般来说 索引数组的过程比执行索引过程花费更多的时间 访问指针内容的过程 其实这也是主要原因之一 为什么使用指针来访问数组的元素
  • 基本的 simpleXML 工作示例?

    看起来 PHP 中的 simpleXML 有很多问题 我在 Windows 上运行最新版本的 php 但无法让 simpleXML 的基本示例按照文档中的方式工作 我的 xml 文件是
  • PHP Netbeans:xdebug 在每个 include() 或 require() 上停止

    我刚刚发现使用 netbeans IDE 中集成的 xdebug 进行 PHP 调试 我认为这很棒 没有它我怎么生活 但有一个问题 如果我在代码深处设置了一个断点 我必须在到达断点之前多次按 继续 F5 因为脚本会在每个 include 和
  • PHP 和 ADODB 连接失败

    我的任务是迁移服务器 这包括移动我没有构建的应用程序 其中一些具有 ADODB connection 我似乎无法在新服务器上修复它 我只得到空白屏幕 我已经对 ADODB connection 与 PHP 进行了相当广泛的研究 但找不到明确
  • zend 模块特定配置问题

    我使用 zend 框架构建 REST Web 服务 并且使用模块来分隔我的 api 版本 现在 我想为每个模块 v1 和 v2 都有一个单独的配置文件 主要用于指定单独的数据库连接 我有这样的目录结构 application modules
  • 在mysql中搜索“SanF”时获取旧金山的记录

    当我搜索 SanF 时获得 San Francisco 记录 SELECT FROM table WHERE col LIKE san Works SELECT FROM table WHERE col LIKE san F Works S
  • php 打印 aa aaa ab aab 直到 zzz 的算法

    你好 我需要打印从 a 到 zzz 最多 3 个字母 例如我的输出应该是 A B Z AA AB AZ BA BB ZZ AAA AAB ZZZ 我在过去的 5 个小时里努力尝试 我找不到任何逻辑 我尝试了下面的代码 PHP 有一个方便的功

随机推荐

  • QString 到 char* 的转换

    我试图通过以下方法将 QString 转换为 char 类型 但它们似乎不起作用 QLineEdit line new QLineEdit just to describe what is line here QString temp li
  • 将字符串列表转换为空格分隔的字符串

    我使用下划线来表示未知单词的长度 如何只打印下划线而不使用代表列表的括号 基本上 如果我有一个表格列表 我想打印下划线而不用列表语法将它们打印为 这对你有用吗 gt gt gt my dashes gt gt gt print join m
  • 拖动视图时设置自定义锚点

    我正在使用 Android Drag Drop API 并尝试将拖动阴影的锚点设置为触摸发生的点View 默认行为是将锚点放在中间View 我做了一些研究 看来这可以通过覆盖来完成onProvideShadowMetrics Point s
  • 如何创建精灵图像

    我正在尝试创建一个非常基本的精灵图像 首先 我有一个现有的图像 宽度 100px 高度 100px 我将循环浏览该图像 10 到 100 次 每次都将其放置在前一个图像旁边的精灵上 精灵的宽度限制为 3000 像素 将图像彼此相邻放置很好
  • Android 日期选择器材质风格

    我已经在我的片段上实现了日期选择器 这是代码 edittext from setOnClickListener new OnClickListener Override public void onClick View view final
  • 我如何通过 googledrive api 从 googledrive 获取多个文件?

    我想知道如何从谷歌驱动器获取多个文件 我在参考文献中搜索了此内容 但没有找到此信息 我正在构建一个 Web 应用程序 它将与驱动器通信并检索要下载的 zip 文件的链接 文件的 Zip 我正在使用 php 和 api v2 目前 Drive
  • HTML5 音频元素在 IE10 中不起作用,但在 Chrome 中起作用。为什么?

    HTML5 音频在 IE10 中不起作用 但在 Chrome 中起作用 任何想法 使用的 HTML 如下 Win8或RT上的IE10不支持wav 但是 IE10 Mobile支持 我附上了屏幕截图 以便您可以了解 IE10 都支持哪些格式
  • Rails:在数据库中存储二进制文件[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 使用Rails 是否有理由将附件 可以是任何时间的文件 存储在文件系统中而不是数据库中 数据库对我来说似乎更简单 无需担心文件系统路径 结构等 您只需查看 blob 字段即可 但大多数人似
  • 执行图像减法时退出代码 139

    我正在使用 python 执行图像减法 我有 numpy 数组形式的图像 包含所有图像的列表的大小为1000 列表中的每个numpy数组都是360 640类型 当帧数在 300 左右时 帧减法是正确的 def find der frames
  • 未定义的方法“protect_against_forgery?”对于 #<#<类:0x0

    我的routes rb 文件中有以下代码 resources users do member do get following followers end collection do put activate email end end 我
  • 如何 grep 查找整个单词

    我正在使用以下命令来 grep 子目录中的内容 find xargs grep s s text 然而 这也会发现类似的东西
  • JVM - 堆和栈

    每当加载一个类时 什么存储在堆中 什么存储在堆栈中 另外线程驻留在哪里 引用类型位于堆中 任何原始类型数据和对堆上值的引用 方法的参数 局部变量 都在堆栈上 每个线程都有自己的堆栈 应用程序中的所有线程共享相同的堆
  • 在哪里可以找到 Jet 4.0 引擎使用的特定类型 SQL 的文档?

    我认为这与 MS Access 使用的相同 但我认为与 MySQL 和其他人使用的不同 我需要 SQL 语言的这种特定 种类 或 子集 的文档 Here是最新版本的 Access SQL 参考 Access 2010 然而 Remou 的回
  • C# 中空合并赋值运算符的实际用途?

    C 中的空值 C 的一项新功能使我们能够去掉代码中的空值 with 可为空的引用类型 我们鼓励添加
  • python中求最小值和最大值

    我必须要求用户输入一些数字 然后打印大小 总和 平均值 最小值和最大值 我可以得到前三件事 但我被困在最小和最大的一个上 我遇到的问题是我无法使用sort 因为我需要使列表成为整数一 但你不能使用整数列表split 这是我的代码 numbe
  • 有没有更好的方法在 bash 中运行命令 N 次?

    我偶尔会运行这样的 bash 命令行 n 0 while n lt 10 do some command n n 1 done To run some command连续多次 在本例中为 10 次 Often some command实际上
  • “错误:找不到符号 HashMap”[重复]

    这个问题在这里已经有答案了 尝试创建 或者更确切地说学习 a HashMap以下方式 public class Demo public static void main String args System out println Star
  •  编码问题

    我正在使用 PHP 开发一个网站 这些奇怪的字符 出现在我的页面上 就在它的顶部 我的代码是这样的 但是当我在浏览器中查看源代码时 它显示
  • 实体框架失去 Sql DateTime 精度

    我正在使用 Entity SQL 查询我的 EDM 但我的 DateTime 值失去了毫秒精度 例如 2011 7 20 12 55 15 333 PM 更改为 2011 7 20 12 55 15 000 PM 我已经确认在 SQL 中毫
  • 按子数组键值对多维数组进行排序

    为此发布了类似的问题和答案 但没有一个与我的数组的结构完全匹配 所以如果我错过了一些东西 我深表歉意 这是由 WordPress wpdb 类生成的数组 Array 0 gt Array meta id gt 37850 post id g