<?php
function sortBy ( $arr, $sortKey )
{
/*Временный массив для сотритовки по нужному ключу*/
$tempArr = array();
/*Возвращаемый массив*/
$returnArr = array();
/*Перебор всего массива*/
foreach ( $arr AS $key=>$value )
{
/*Запись в массив значений ключа по которому быдет выполнена сортировка*/
$tempArr[$key] = $value[$sortKey];
}
/*Сортировка значений с сохранением ключей*/
asort ( $tempArr );
/*Установка указателя массива не первый элемент*/
reset ( $tempArr );
/*Перебор всего временного массива*/
foreach ( $tempArr AS $key=>$value )
{
/*Формирование возвращаемого массива*/
$returnArr[] = $arr[$key];
}
return $returnArr;
}
/*Ключ по которому будет выполнена сортировка*/
$sortKey = "name";
/*Второй ключ присутствующий в массиве*/
$secondKey = "data";
$arr[1]['data'] = "2010";
$arr[1]['name'] = "Петя";
$arr[2]['data'] = "2012";
$arr[2]['name'] = "Вася";
$arr[3]['data'] = "2011";
$arr[3]['name'] = "Саша";
$sortedArr = sortBy( $arr, $sortKey );
foreach ( $sortedArr AS $key=>$value )
{
echo $value[$sortKey] . " - " . $value[$secondKey] . "<br />";
}
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.26, 7.0.0 - 7.0.20, 7.1.0 - 7.1.10, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Вася - 2012<br />Петя - 2010<br />Саша - 2011<br />
preferences:
239.6 ms | 406 KiB | 355 Q