<?php
$array = [
['array-5', 0],
['array-7', -.5],
['array-4', 0],
['array-1',-1],
['array-3', 2],
['array-6', .5],
['array-2', 3],
['array-8', -2]
];
usort(
$array,
fn($a, $b) => ($b[1] < 0 <=> $a[1] < 0)
?: (abs($b[1]) <=> abs($a[1]))
);
var_export($array);
- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- array (
0 =>
array (
0 => 'array-8',
1 => -2,
),
1 =>
array (
0 => 'array-1',
1 => -1,
),
2 =>
array (
0 => 'array-7',
1 => -0.5,
),
3 =>
array (
0 => 'array-2',
1 => 3,
),
4 =>
array (
0 => 'array-3',
1 => 2,
),
5 =>
array (
0 => 'array-6',
1 => 0.5,
),
6 =>
array (
0 => 'array-5',
1 => 0,
),
7 =>
array (
0 => 'array-4',
1 => 0,
),
)
preferences:
75.45 ms | 408 KiB | 5 Q