按自定义顺序按键对数组进行排序

2023-12-01

我有以下多维数组

[
    'June 2015' => [
        'LOW' => [160.50],
        'MEDIUM' => [0.00],
        'HIGH' => [60.80]
    ],
    'July 2015' => [
        'MEDIUM' => [226.00],
        'HIGH' => [263.00],
        'LOW' => [121.96]
    ]
]

我需要按每个内部数组的键对它们进行排序,以便它们按低、中、高的顺序排列(第一个偶然是正确的)。

我尝试了以下代码,我从中进行了调整here:

function cmp($a, $b){
        $a = preg_replace('@^(LOW|MEDIUM|HIGH) @', '', $a);
        $b = preg_replace('@^(LOW|MEDIUM|HIGH) @', '', $b);
        return strcasecmp($a, $b);
    }

    foreach($live_quotations as $exp_conversion_date => $Aconversion_likelihood){
        foreach($Aconversion_likelihood as $conversion_likelihood => $quotation_values){
    
            uksort($live_quotations[$exp_conversion_date], "cmp");
    
        }
    }

但这将它们排序为高、中、低(按字母顺序升序)。如果我更改 cmp 函数中的顺序并不重要,它们总是以这种方式排序。我认为我没有正确理解这个 uksort 或 cmp 函数。


您可以使用以下比较函数:

function cmp($a, $b) {
    $order = Array( 'LOW' => 0, 'MEDIUM' => 1, 'HIGH' => 2 );
    return $order[$a] - $order[$b];
}

这段代码的例子是here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按自定义顺序按键对数组进行排序 的相关文章

  • 测试 CodeIgniter 会话变量的正确方法是什么?

    获取以下代码片段 测试确保会话变量不为空的最佳方法是什么 如果稍后在我的脚本中 我调用以下内容 第一个打印正确 但在第二个我收到消息 未定义的变量 已登录 我尝试过使用 empty and isset 但两者均未成功 我还尝试使用向后执行
  • 将结构体数组传递给函数 C++

    抱歉这个菜鸟问题我只是有点困惑 如果我在 main 中有一个结构数组 我想将其传递给函数 struct MyStruct int a int b char c mayarray 5 MyStruct StructArray 10 myFun
  • 如何处理PDO异常[重复]

    这个问题在这里已经有答案了 我正在尝试与PDOphp 上的类 但我在找到处理错误的正确方法时遇到了一些麻烦 我编写了以下代码
  • Objects.deepToString(Object o) 方法

    班上java util Objects包含deepEquals Object a Object b 可用于比较任何类型的对象 包括数组和空引用 的方法 但不包含类似的方法deepToString Object o 这令人失望 顺便说一下 这
  • 为什么零长度 VLA 是 UB?

    2011年标准明确规定 6 7 6 2 数组声明符 如果大小是一个不是整数常量表达式的表达式 如果它出现在 在函数原型范围内声明 它被视为被替换为 否则 每次评估时 其值都应大于零 每个实例的大小 变长数组类型的值在其生命周期内不会改变 其
  • WordPress 子主题 -functions.php 复制 - 无法“重新声明”

    我正在使用带有儿童主题 starkers child 的 Starkers 我需要编辑functions php来声明一个菜单 所以我复制了functions php JS文件夹和external文件夹 它们都在functions文件中的某
  • 如何将值发布到输入框中?

    Intro I would like to get the current time after clicking at click and POST the value into input text box Note 假设包含引导样式表
  • 在运行之前可以检查 imagecreatefromjpeg 是否会导致内存耗尽致命错误吗?

    我已经对此进行了一些搜索 并且我知道不可能从内存耗尽的致命错误中恢复 我有一个运行 imagecreatefromjpeg 的脚本 我尝试捕获异常 我尝试使用 运行该函数 然后检查返回值是否为 null 或 false 我尝试使用 die
  • 如何从文件中获取整个函数

    好的 我现在正在逐行阅读一个文件 我知道文件中的每个函数名称 因为它是在 XML 文档中的其他位置定义的 应该是这样的 function function name 其中 function name 是函数的名称 我从 XML 文档中获取所
  • SQL 查询结果为字符串(或变量)

    是否可以将SQL查询结果输出到一个字符串或变量中 我的php和mysql不好 假设我有数据库 agents 其中包含列 agent id agent fname agent lname agent dept 使用此查询 sql SELECT
  • Chart.js - 使用 mysql 和 php 从数据库获取数据

    我正在尝试将静态数据转换为使用数据库结果 我将使用MySQL and PHP 示例代码 var randomScalingFactor function return Math round Math random 100 var lineC
  • 如何通过开始索引和结束索引提取子字符串?

    str HelloWorld sub substr str 3 5 echo sub prints loWor 我知道 substr 采用第一个参数 第二个参数是开始索引 而第三个参数是要提取的子字符串长度 我需要的是通过提取子字符串起始索
  • 如何在 C# 中使用键对 NameValueCollection 进行排序?

    我编写了以下代码 它也有效 但我想知道它们是否比这更好 NameValueCollection optionInfoList if aSorting optionInfoListSorted new nameValueCollection
  • WordPress 子主题覆盖父主题包括

    我正在创建 WordPress 子主题 需要覆盖某些小部件模板 我正在尝试使用此方法来覆盖父主题调用 覆盖主题功能的正确方法 http www venutip com content right way override theme fun
  • 二维数组作为字典的项目

    我想用一个项目的几个属性填充字典 例子 我正在考虑拥有Item 1 and Item 2 as Dictionary键与array这将保留其属性 我需要能够单独访问项目的每个属性 因此将它们连接为一个字符串不是一种选择 我正在考虑类似下面的
  • 即使在双引号内或使用 PHP_EOL,PHP echo 也不打印换行符

    这是一张照片剪辑 我认为它很清楚 这真让我抓狂 我似乎无法让 php 在我的本地主机 使用 xampp 或在线 PHP 解释器上打印换行符 如果你想在 php 中使用 HTML 标签 试试这个 echo dkljaks aalksja kl
  • PHP 使用主键和辅助键对多维数组进行排序[重复]

    这个问题在这里已经有答案了 如何按主键和辅助键对多维数组进行排序 例如 假设有以下数组 result array result 0 prio 1 result 0 date 2010 02 28 result 0 post February
  • MySQL如何从多个表中获取数据

    我正在寻找 php MySQL jquery 的帮助 我有2张桌子 table1表 1 有 4 列 id 标题 desc thumb img tabel2表 2 有 3 列 id 表 id img 我只想将 2 个表与 get QS 的值进
  • 无法访问 WordPress 中声明的全局变量

    我有以下代码 g value something print g value function get value global g value print g value print get value 当我在独立的 PHP 脚本中运行它
  • Yii2:无法将列值更新+1

    创建新记录时 我需要将列值更新 1 public function actionCreate model new CreateBookings if model gt load Yii app gt request gt post Yii

随机推荐

  • git 更新后脚本不起作用

    编辑我的后老问题有几次 我提出了一个新问题 因为现在这是一个新问题 In git hooks post update I have echo a gt gt home pi log git update server info git st
  • XML:处理大数据

    您推荐哪种 XML 解析器用于以下目的 XML 文件 已格式化 包含空格 大约 800 MB 它主要包含三种类型的标签 我们称它们为 n w 和 r 它们有一个名为 id 的属性 我必须尽快搜索该属性 删除我不需要的属性可以节省大约 30
  • 如何使用 Firebase 客户端通过多个客户端连接(Node.JS 客户端库)连接到 Nest API?

    我正在构建一个需要处理多个用户的中央模块 让他们订阅其巢上的数据更改 根据我的搜索 Node JS 库不允许我与 Google Nest API 进行多个 Firebase 连接 在不使用 REST 或 REST 流式传输的情况下 是否有任
  • ObjectSet.AddObject() 与 EntityCollection.Add()

    假设我有两个实体集 团队 和 玩家 我正在向系统添加新团队 为了便于讨论 假设我从一个文件 包含重复项 中添加一千个团队 该系统包含 100 个团队来启动 我的目标是避免重复 而不为每个添加的团队调用 SaveChanges 流程是查询新的
  • AJAX跨域调用

    我了解AJAX跨域策略 所以我不能只是打电话 http www google com 通过 ajax HTTP 请求并显示 结果在我的网站上的某个地方 我尝试使用 dataType jsonp 这实际上可以工作 但我收到语法错误 显然是因为
  • python 深拷贝和浅拷贝并传递引用

    关于python深拷贝和浅拷贝的问题 该帖子位于深拷贝和浅拷贝有什么区别 帮不了我 为什么例如1的和是6而不是10 e g 1 kvps 1 1 2 2 theCopy kvps copy both point to the same me
  • 获取 pandas 数据框中两个日期时间列的差异[重复]

    这个问题在这里已经有答案了 我有一个数据框 它显示的类型为 signup time 151112 non null datetime64 ns purchase time 151112 non null datetime64 ns 实际值的
  • 通用Windows平台和Live SDK

    我有个问题 我最近在我的计算机上安装了 VS 2015 和 Windows 10 拥有通用应用程序真是太棒了 我计划在 UWP 上转换我的一些程序 但我有一个问题 在我的一个程序中 我允许用户将其数据保存在 OneDrive 上 如果 On
  • 如何将 stringVar() 从 tk 转换为 pyqt

    我有这个函数作为我的代码的一部分 我正在尝试从 tk 迁移到 pyqt 但我在 pyqt 方面没有太多经验 我正在尝试生成 Tkinter 字符串变量列表来存储条目 def generate stringvars self temp ent
  • PHP date() 函数没有给出正确的时间

    我试图找出为什么 php date 给我错误的时间 将实际时间设置为 2 小时 这给出了 2011 01 01 03 14 04 而不是 2011 01 01 05 14 04 小时减少 2 我没有更改 date 的时区 当用户访问该网站时
  • 如何从 dict 中获取值列表?

    如何获取 Python 字典中的值列表 在 Java 中 以列表形式获取 Map 的值就像执行以下操作一样简单list map values 我想知道 Python 中是否有一种类似的简单方法可以从字典中获取值列表 dict values返
  • 指向整数数组的指针与指向整数的双指针

    我本以为整数数组是指向整数的指针类型 因此这意味着指向整数数组的指针是指向整数的双指针类型 但我得到的结果却表明事实并非如此 我怀疑整数数组类型不是指向整数的指针类型 这是我的例子 int main int p 3 1 2 3 int pt
  • 迭代时从哈希集中删除元素[重复]

    这个问题在这里已经有答案了 所以 如果我尝试从 Java 中删除元素HashSet迭代时 我得到并发修改异常 从数组中删除元素子集的最佳方法是什么HashSet就像下面的例子一样 Set
  • 在云功能中,我如何从另一个集合加入以获取数据?

    我正在使用云功能向移动设备发送通知 我在 Firestore 中有两个集合clientDetail and clientPersonalDetail 我有clientID两个集合中相同 但日期存储在clientDetail名称存储在 cli
  • Oracle SQL:如何显示空周/没有数据的周?

    如同这个问题 但我的数据集还有一个包含许多 ID 的附加列 每个 ID 都有一个按恒定时间范围回溯的数据集 并且某些周可能会丢失数据 我想填写丢失周的值 例如 我想要这个 ID WEEKEND DAY VALUE A00 2012 01 0
  • Android USBHost 模式 - 为什么我的 IRDA 设备在 ClaimInterface 上失败?

    我的 Xperia Neo Cyanogen Mod 9 连接了一个 Lindy IRDA USB 桥接器 我已经更改了功能以支持主机模式等 代码中一切看起来都很好 我检测到该设备 我可以看到接口和两个端点 一进一出 但是一旦我尝试声明接口
  • 列表框(JList)不会从自定义 ListModel 动态更新

    我正在使用 Seesaw 在 Clojure 中开发 GUI 应用程序 并且在我的自定义 ListModel 更新时无法更新列表框 Java 中的 JList 这是我的一些代码 deftype ActionHistoryListModel
  • python 中多线程应用程序中的分段错误

    我在 python 中有一个多线程应用程序 其中我创建了多个生产者线程 它们从数据库中提取数据 数据以块的形式提取 因此 线程创建具有限制值的sql语句的部分被保留在锁内 为了让线程同时执行查询 query 函数被保留在锁之外 然后结果获取
  • C#/WPF - 我无法从后台工作人员更新 UI

    我有一个代码可以使用以下命令从特定 Twitter 帐户获取推文推特锐利库 创建自定义实例UserControl并发布推文UserControl然后将其添加到StackPanel 但是 我必须收到很多推文 并且在向应用程序添加用户控件时 应
  • 按自定义顺序按键对数组进行排序

    我有以下多维数组 June 2015 gt LOW gt 160 50 MEDIUM gt 0 00 HIGH gt 60 80 July 2015 gt MEDIUM gt 226 00 HIGH gt 263 00 LOW gt 121