Статьи

/**
 * Сортирует двумерный ассоциативный массив, по структуре похожий на таблицу БД.
 * Сортировка происходит по заданному ключу, подобно тому, как это делается в БД через ORDER BY key, type
 *
 * @param    array    $array
 * @param    string   $key       ключ, по которому сортировать
 * @param    int      $type      порядок сортировки {SORT_ASC|SORT_DESC}
 * @param    string   $cmp_func  функция для сравнения строк, одна из:
 *                               strcmp,    strcasecmp    - обычное сравнение строк
 *                               strnatcmp, strnatcasecmp - алгоритм "естественного упорядочения"
 * @return   array
 *
 * @author   Nasibullin Rinat <rin at starlink ru>
 * @charset  ANSI
 * @version  1.0.2
 
  $a = array(
      array('id' => 4, 'name' => 'Sveta', 'sex' => 'female'),
      array('id' => 1, 'name' => 'Rin',   'sex' => 'male'),
      array('id' => 3, 'name' => 'Vika',  'sex' => 'female'),
      array('id' => 2, 'name' => 'Igor',  'sex' => 'male'),
  );

  echo '<pre>';
  print_r(array_multisort_key($a, 'id', SORT_ASC));
  print_r(array_multisort_key($a, 'id', SORT_DESC));
  print_r(array_multisort_key($a, 'name', SORT_ASC));
  echo '</pre>';
 */
function array_multisort_key($array, $key, $type = SORT_ASC, $cmp_func = 'strcmp')
{
    $GLOBALS['ARRAY_MULTISORT_KEY_SORT_KEY']  = $key;
    usort($array, create_function('$a, $b', '$k = &$GLOBALS["ARRAY_MULTISORT_KEY_SORT_KEY"];
                                             return ' . $cmp_func . '($a[$k], $b[$k]) * ' . ($type == SORT_ASC ? 1 : -1) . ';'));
    return $array;
}

Возврат к списку


Текст сообщения*
Защита от автоматических сообщений
Облако тегов
API array CSS facebook IT-биографии JavaScript jQuery Microsoft microsoft MySQL PC php seo SQL ssl twitter апокалипсис баг база данных бизнес битрикс Битрикс браузер веб-ресурс векторная графика графика дизайн единорог жены программистов звук ЗОЖ инстаграмм интернет-магазин инфографика искусство истории ит картинки клиент компьютер конец света конференция кроссбраузерность лень массивы метод Верле музыка мысли мышь объявления ОС отдых отцы и дети парнас ай ти парнас айти передача данных подростки посмеяться правописание причины лени программирование программист продвижение проект размер страницы разметка разработка разработка интернет-магазина разработчик веб-систем распознавание звука реклама русский язык сайт семантическая разметка семинар сертификат сисадмин скорость загрузки сайта слушать создание сортировка социальные сети творчество тестирование умные мысли цитаты яндекс
Последние комментарии

Наши клиенты

Контакты

ООО "Парнас"

420111
г. Казань, ул. Пушкина 18

Телефон :
8-843-236-6001
8-499-550-6001

Почта :
mail@parnas-it.com


скачать реквизиты

Политика в отношении обработки персональных данных 0+ © 2012-2021 "Парнас-АйТи"