[英]How add a new a key after using USORT in PHP multidimensional array
我在該數組中有一個數組我想進行ASC
排序,之后我要插入新的列rank
然后它的值將像1,2,3一樣增加...
我的陣列
$mainArray = [
"key1" => ["name" => "A", "price" => 5],
"key2" => ["name" => "B", "price" => 7],
"key3" => ["name" => "C", "price" => 2],
];
我的密碼
usort($mainArray, function($a, $b) {
return $a['price'] <=> $b['price'];
});
echo "<pre>";
print_r($mainArray);
我正在輸出
Array
(
[0] => Array
(
[name] => C
[price] => 2
)
[1] => Array
(
[name] => A
[price] => 5
)
[2] => Array
(
[name] => B
[price] => 7
)
)
預期產量
Array
(
[0] => Array
(
[name] => C
[price] => 2
[rank] => 1
)
[1] => Array
(
[name] => A
[price] => 5
[rank] => 2
)
[2] => Array
(
[name] => B
[price] => 7
[rank] => 3
)
)
由於數組已經排序並重新索引,因此rank
值只是鍵加1。foreach循環將完成您想要的操作:
foreach ($mainArray as $k => &$v) {
$v['rank'] = $k + 1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.