<?php
$array = [
'2DAYSALEGATE_PG1.jpg',
'2DAYSALEGATE_PG2.jpg',
'722_PG1.jpg',
'PW_PG2_COKE_A.jpg',
'PW_PG3_COKE_A.jpg',
'PWBY4_DELI-1.jpg'
];
function sortArrayOfStrings($array): array
{
array_multisort(
str_replace('_', ' ', $array),
SORT_NATURAL,
$array
);
return $array;
}
function dimaSort($array): array
{
usort($array, function ($a, $b) {
$aTemp = str_replace('_', '0', $a);
$bTemp = str_replace('_', '0', $b);
return strcmp($aTemp,$bTemp);
});
return $array;
}
var_export([
sortArrayOfStrings($array),
dimaSort($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 (
0 => '2DAYSALEGATE_PG1.jpg',
1 => '2DAYSALEGATE_PG2.jpg',
2 => '722_PG1.jpg',
3 => 'PWBY4_DELI-1.jpg',
4 => 'PW_PG2_COKE_A.jpg',
5 => 'PW_PG3_COKE_A.jpg',
),
1 =>
array (
0 => '2DAYSALEGATE_PG1.jpg',
1 => '2DAYSALEGATE_PG2.jpg',
2 => '722_PG1.jpg',
3 => 'PW_PG2_COKE_A.jpg',
4 => 'PW_PG3_COKE_A.jpg',
5 => 'PWBY4_DELI-1.jpg',
),
)
preferences:
111.42 ms | 408 KiB | 5 Q