Сортиране на масив

deam0n

Moderator
Екип
Как мога да сортирам масив по стойността от даден ключ? В случая искам да го сортирам по insertDate. Става дума за следния масив:

Код:
array
  0 => 
    array
      'id' => string '21' (length=2)
      'accountId' => string '5145' (length=4)
      'articleType' => string '1' (length=1)
      'categoryId' => string '61' (length=2)
      'nameBg' => string 'dasdas' (length=6)
      'identBg' => string 'dasdas' (length=6)
      'descrBg' => string '<p>dasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdas  das dasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdas  das dasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdas  das dasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdas  das dasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdas  das dasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdas  das </p>' (length=379)
      'orderField' => string '0' (length=1)
      'status' => string '1' (length=1)
      'lastUpdate' => string '2012-08-20 11:32:37' (length=19)
      'insertDate' => string '2012-08-20 11:32:37' (length=19)
  1 => 
    array
      'id' => string '12' (length=2)
      'accountId' => string '1' (length=1)
      'articleType' => string '2' (length=1)
      'categoryId' => string '61' (length=2)
      'nameBg' => string 'asd dsa' (length=7)
      'identBg' => string 'asd-dsa' (length=7)
      'descrBg' => string '<p>dasdas</p>' (length=13)
      'orderField' => string '0' (length=1)
      'status' => string '1' (length=1)
      'lastUpdate' => string '2012-08-20 10:41:16' (length=19)
      'insertDate' => string '2012-08-20 10:41:16' (length=19)
  2 => 
    array
      'id' => string '11' (length=2)
      'accountId' => string '514' (length=3)
      'nameBg' => string 'das das dasdas' (length=14)
      'identBg' => string 'das-da-das' (length=10)
      'descrBg' => string 'dasm askm kmldask maskl mdklas mklas mkasmd klasmdklasmd' (length=56)
      'orderField' => string '0' (length=1)
      'status' => string '1' (length=1)
      'lastUpdate' => string '2012-08-24 00:00:00' (length=19)
      'insertDate' => string '2012-08-24 00:00:00' (length=19)
  3 => 
    array
      'id' => string '4' (length=1)
      'accountId' => string '1' (length=1)
      'nameBg' => string 'Обява 1' (length=12)
      'identBg' => string 'обява-1' (length=12)
      'descrBg' => string 'обява1обява1обява1обява1обява1обява1обява1' (length=77)
      'orderField' => string '0' (length=1)
      'status' => string '1' (length=1)
      'lastUpdate' => string '2012-08-16 17:50:17' (length=19)
      'insertDate' => string '2012-08-14 15:10:46' (length=19)
  4 => 
    array
      'id' => string '3' (length=1)
      'accountId' => string '1' (length=1)
      'nameBg' => string 'Нова обява дълго заглавие на обява. тест тест тест тест тест Нова обява дълго заглавие на обява. тест тест тест тест тест' (length=219)
      'identBg' => string 'нова-обява' (length=19)
      'descrBg' => string 'Нова обява Нова обява Нова обява Нова обява Нова обява Нова обява Нова обява Нова обява Нова обява Нова обяваНова обява Нова обява Нова обява Нова обява Нова обяваНова обява Нова обява Нова обява Нова обява Нова обяваНова обява Нова обява Нова обява Нова обява Нова обяваНова обя�'... (length=595)
      'orderField' => string '0' (length=1)
      'status' => string '1' (length=1)
      'lastUpdate' => string '2012-08-15 15:35:38' (length=19)
      'insertDate' => string '2012-08-14 15:07:58' (length=19)
  5 => 
    array
      'id' => string '2' (length=1)
      'accountId' => string '1' (length=1)
      'nameBg' => string 'Втора обява' (length=21)
      'identBg' => string 'втора-обява' (length=21)
      'descrBg' => string 'Текст на втората обява' (length=41)
      'orderField' => string '0' (length=1)
      'status' => string '1' (length=1)
      'lastUpdate' => string '2012-08-15 11:31:47' (length=19)
      'insertDate' => string '2012-07-30 17:16:36' (length=19)
  6 => 
    array
      'id' => string '13' (length=2)
      'email' => string 'kamendent@abv.bg' (length=16)
      'emailMakeVisible' => string '0' (length=1)
      'password' => string 'dc492ъйсdc446aaceд3р47c501b3a09d83' (length=32)
      'uin' => string '220000466' (length=9)
      'categoryId' => string '34' (length=2)
      'nameBg' => string 'Камен Цветанов' (length=27)
      'identBg' => string 'камен-цветанов' (length=27)
      'descriptionBg' => string 'Дентален лекар.' (length=28)
      'keywords' => null
      'nzok' => string '0' (length=1)
      'zlphm' => string '1' (length=1)
      'status' => string '1' (length=1)
      'emailMessages' => string '1' (length=1)
      'isAcquired' => string '0' (length=1)
      'role' => string 'Customer' (length=8)
      'pay' => string '2' (length=1)
      'payDate' => string '2012-08-31 00:00:00' (length=19)
      'endDate' => string '2012-09-01 00:00:00' (length=19)
      'linkWebsite' => null
      'linkHours' => null
      'linkResults' => null
      'linkFacebook' => null
      'linkLinkedin' => null
      'linkProbook' => null
      'visited' => string '0' (length=1)
      'fulltextHelper' => null
      'lastUpdate' => null
      'insertDate' => string '2012-06-28 15:20:00' (length=19)
 
PHP:
function date_compare($a, $b)
{
    $t1 = strtotime($a['insertDate']);
    $t2 = strtotime($b['insertDate']);
    return $t1 - $t2;
}    
usort($array, 'date_compare');
 

Back
Горе