php - 对数组进行排序比较PHP中的另一个数组
问题描述
我有 2 个数组,其中一个用于订单,另一个用于对实际值进行排序。如何通过比较数组对数组进行排序?任何想法都会非常有帮助。谢谢你。
订单数组:
Array(
[0] => Array
(
[code] => subscription_bundles
[id_sequency] => 1
)
[1] => Array
(
[code] => pre_order
[id_sequency] => 2
)
[2] => Array
(
[code] => voucher
[id_sequency] => 3
)
[3] => Array
(
[code] => ppv
[id_sequency] => 4
)
[4] => Array
(
[code] => ppv_bundle
[id_sequency] => 5
)
)
并对数组进行排序:
Array(
[monetization] => Array
(
[ppv] => Pay Per View
[ppv_bundle] => Pay-Per-View Bundle
[subscription_bundles] => Subscription
[voucher] => Voucher
)
解决方案
您可以uksort
结合使用array_combine
从 order 数组创建 key-order 映射。
// create order mapping
$map = array_combine(
array_column($order, 'code'),
array_column($order, 'id_sequency')
);
// sort the data
uksort($data, function ($a, $b) use ($map) {
return $map[$a] - $map[$b];
});
推荐阅读
- java - 将加密方法从 Java 移植到 Python
- spring-boot - 将 org.springframework.boot 加载到项目中的 Gradle 插件
- sql - 嵌套事务和嵌套 try-catch 块的最大数量
- cassandra - 从 INSERT 语句中获取 Cassandra 中自动生成的 UUID
- dom - DOM querySelectorAll - 元素 ID 不以
- node.js - 如何将节点导入语句添加到具有角度示意图的文件中?
- java - 黄瓜测试没有运行 Liquibase
- c++ - 检查目录名称是否全是数字c ++
- c++ - 如何将数据逐行放入向量中
- javascript - 如何防止网站后台加载滞后?