php - php:根据是否存在的键对多维数组进行排序
问题描述
嗨,我需要根据键名重新排序多数组。但是那个键不仅相同(只有 2 种类型的键名,例如示例)。我将发布一个示例:
$array = array(
0 => array(
"FixedValue" => 550
),
1 => array(
"Percentage" => 10
),
2 => array(
"FixedValue" => 10
),
3 => array(
"FixedValue" => 980
),
4 => array(
"Percentage" => 90
)
)
我的目标是有一个新数组,其中“FixedValue”列表出现在“百分比”之前,例如:
$new_array = array(
0 => array(
"FixedValue" => 550
),
1 => array(
"FixedValue" => 10
),
2 => array(
"FixedValue" => 980
),
3 => array(
"Percentage" => 90
),
4 => array(
"Percentage" => 10
)
)
我不需要值排序,只需要键排序。
有什么建议吗?
解决方案
$array = array(
0 => array(
"FixedValue" => 550
),
1 => array(
"Percentage" => 10
),
2 => array(
"FixedValue" => 10
),
3 => array(
"FixedValue" => 980
),
4 => array(
"Percentage" => 90
)
);
usort($array,function($a,$b) {
return key($a) <=> key($b);
});
var_dump($array);
结果:
array(5) {
[0]=>
array(1) {
["FixedValue"]=>
int(550)
}
[1]=>
array(1) {
["FixedValue"]=>
int(10)
}
[2]=>
array(1) {
["FixedValue"]=>
int(980)
}
[3]=>
array(1) {
["Percentage"]=>
int(10)
}
[4]=>
array(1) {
["Percentage"]=>
int(90)
}
}
推荐阅读
- laravel - Laravel 7 通过 AWS SES 发送电子邮件
- r - 导出 Hmisc::describe 输出到 excel/csv
- r - 使用包时“for”循环在 R 中不起作用
- apache-spark - 如何获取不为空的列名
- node.js - GET http://127.0.0.1:3000/data net::ERR_CONNECTION_REFUSED Angular - Nodejs - Nginx
- python - 使用 None 作为默认参数时遇到问题
- windows - C# - 带有插槽的工作线程,动态添加的项目
- excel - 跳过或替换要添加的工作表中的现有数据的代码是什么?
- c++ - 如何修复错误:'operator<<' 不匹配(操作数类型为 'std::ostream {aka std::basic_ostream
}' 和 'void')同时使用字符串和堆栈 - python - Python中的预言家预测与饱和最小值