Здравствуйте. Подскажите такой вопрос
Необходимо отсортировать массив по части строки элемента массива Исходный
Array ( [0] => 8452-2880FA17-026_2171.jpg [1] => 8452-2880FA17-026_21712.jpg [2] => 8452-2880FA17-417_2167.jpg [3] => 8452-2880FA17-417_2168.jpg [4] => 8452-2880FA17-417_2169.jpg [5] => 8452-2880FA17-417_2170.jpg )
отсортированный по части строки
Array ( [0] => 2167.jpg [1] => 2168.jpg [2] => 2169.jpg [3] => 2170.jpg [4] => 2171.jpg [5] => 21712.jpg )
Как исходный массив отсортировать как по части строки?
Можно временно модифицировать исходный массив - перезаписать его ключи на значения, по которым надо произвести сортировку. Далее - отсортировать по ключам, и перезаписать исходный массив, отбрасывая временные ключи (привести структуру массива в исходный вид):
$array = array(
'8452-2880FA17-026_2171.jpg',
'8452-2880FA17-026_21712.jpg',
'8452-2880FA17-417_2167.jpg',
'8452-2880FA17-417_2168.jpg',
'8452-2880FA17-417_2169.jpg',
'8452-2880FA17-417_2170.jpg'
);
array_map(function($item) use(&$arr){
$k = preg_replace('~[^_]+_(\d+)\.\w+$~', '$1', $item);
$arr[$k] = $item;
}, $array);
ksort($arr);
$array = array_values($arr);
var_dump($array);
Результат:
array (size=6)
0 => string '8452-2880FA17-417_2167.jpg' (length=26)
1 => string '8452-2880FA17-417_2168.jpg' (length=26)
2 => string '8452-2880FA17-417_2169.jpg' (length=26)
3 => string '8452-2880FA17-417_2170.jpg' (length=26)
4 => string '8452-2880FA17-026_2171.jpg' (length=26)
5 => string '8452-2880FA17-026_21712.jpg' (length=27)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как сделать, файл indexphp (к примеру), качался в PHP скрипт по PHP коду? Например
Добрый день! подскажите пожалуйста как лучше всего получать данные с сервера? допустим с тутусейчас источник банит при частом запросе? но есть...
Хочу, чтобы после нажатия на кнопку появлялось простое сообщение, но оно почему-то сразу выводится до нажатия кнопкиВ чем я ошибку допустил?
Изучаю api твиттера и столкнулся с одной сложной задачейНужно отследить, сделал ли пользователь ретвит, либо лайк, либо прокомментировал твит