【发布时间】:2020-03-15 00:23:01
【问题描述】:
因为一个相当微不足道的问题而大脑冻结。如果我从这样的数组开始:
$my_array = array(
1 => [
"id" => 1,
"weight" => 0
],
2 => [
"id" => 2,
"weight" => -1
],
3 => [
"id" => 3,
"weight" => 0
],
4 => [
"id" => 4,
"weight" => -1
],
);
我会做一个函数,将数组的键移动到键+“权重”。所以结果会是这样的:
$my_array = array(
1 => [
"id" => 2,
"weight" => -1
],
2 => [
"id" => 1,
"weight" => 0
],
3 => [
"id" => 4,
"weight" => -1
],
4 => [
"id" => 3,
"weight" => 0
],
);
最有效的方法是什么?
【问题讨论】:
-
密钥需要更改吗?还是按顺序排列?我看到你在两者之间将
weight更改为position。所以array_map和usort的组合应该可以解决问题。 -
是的,对不起,我忘记了一些编辑,我有一个更好的例子,如果它更容易,我可以只更改顺序,感谢这些功能,我会看看我能用这个做什么
-
请开始使用短数组语法
[]。改用array()没有意义