<?php
$array = [
["name" => "Gus", "age" => 32],
["name" => "Jon", "age" => 44],
["name" => "Bob", "age" => 32],
["name" => "Jim", "age" => 103],
["name" => "Ted", "age" => 19],
["name" => "Ben", "age" => 32],
];
foreach ($array as &$row) {
$row['order'] = &$ref[$row['age']];
}
krsort($ref);
$order = 0;
foreach ($ref as &$v) {
$v = ++$order;
}
var_export($array);
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- array (
0 =>
array (
'name' => 'Gus',
'age' => 32,
'order' => 3,
),
1 =>
array (
'name' => 'Jon',
'age' => 44,
'order' => 2,
),
2 =>
array (
'name' => 'Bob',
'age' => 32,
'order' => 3,
),
3 =>
array (
'name' => 'Jim',
'age' => 103,
'order' => 1,
),
4 =>
array (
'name' => 'Ted',
'age' => 19,
'order' => 4,
),
5 =>
array (
'name' => 'Ben',
'age' => 32,
'order' => 3,
),
)
preferences:
76.01 ms | 403 KiB | 123 Q