<?php
$array = [
['columnName' => 3],
['columnName' => 4],
['columnName' => 1],
['columnName' => 3],
['columnName' => 2],
['columnName' => 5]
];
$direction = 'asc';
$factor = $direction === 'desc' ? -1 : 1;
$c = 'columnName';
usort(
$array,
fn($a, $b) => $factor * ($a[$c] <=> $b[$c])
);
var_export($array);
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array (
0 =>
array (
'columnName' => 1,
),
1 =>
array (
'columnName' => 2,
),
2 =>
array (
'columnName' => 3,
),
3 =>
array (
'columnName' => 3,
),
4 =>
array (
'columnName' => 4,
),
5 =>
array (
'columnName' => 5,
),
)
preferences:
106.71 ms | 407 KiB | 5 Q