asort

(PHP 3, PHP 4, PHP 5)

asort - Отсортировать массив, сохраняя ключи

Описание

bool asort ( array &array [, int sort_flags] )

Эта функция сортирует массив таким образом, что сохраняются отношения между ключами и значениями. Она полезна, в основном, при сортировке ассоциативных массивов, когда важно сохранить отношение ключ => значение.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример 1. Пример использования asort()

$fruits = array("d" => "lemon", "a" => "orange",
            "b" => "banana", "c" => "apple");
asort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
    echo "$key = $val<br />\n";
}

Результат выполнения данного примера:

c = apple b = banana d = lemon a = orange

Названия фруктов были отсортированы и отношения ключ/значение были сохранены.

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее см. sort().

Пример 2. Сортировка двумерного массива

Для сортировки двухмерных массивов по одной из его “веток” я использую следующую функцию
function udf_sort(&$array, $index)
{
  $compare_func = create_function('$a, $b',
    'return ($a[\''.$index.'\']==$b[\''.$index.'\'])? 0:
     (($a[\''.$index.'\']>$b[\''.$index.'\'])? 1: -1);');
 
  if (!function_exists($compare_func))
  {
      return false;
  }
 
  return usort($array, $compare_func);
}

$arr = array(
        'a1' => array(2, 1, 6, 4, 5),
        'a2' => array(7, 4, 66, 14, 5),
);
udf_sort($arr, 'a1'); // сортировка по массива, содержащегося в ключе a1

Смотрите также arsort(), rsort(), ksort() и sort().

Все функции array
Описание на ru2.php.net
Описание на php.ru