Benutzer-Werkzeuge


Array nach Datum sortieren

Oft hat man ein Array, welches Einträge mit einem Datum enthält. Wenn man das Array nach dem Datum sortieren will dann kann folgende Funktion helfen

<?php
function sortArray($a,$b){ 
  $timeA = explode('.',$a[3]); 
  $timeB = explode('.',$b[3]); 
  $timeA = mktime(0,0,0,$timeA[1],$timeA[0],$timeA[2]); 
  $timeB = mktime(0,0,0,$timeB[1],$timeB[0],$timeB[2]); 
  if($timeA == $timeB){ 
    return 0; 
  } 
  return ($timeA<$timeB)?-1:1; 
} 
 
$str[0] = 'o|b|c|07.04.08|1'; 
$str[1] = 't|w|c|09.04.08|0'; 
$str[2] = 'u|b|z|10.04.08|0'; 
$str[3] = 'pp|bz|cu|02.04.08|1'; 
$arr = array(); 
foreach($str as $wert){ 
  $arr[] = explode('|',$wert); 
} 
usort($arr,"sortArray"); 
echo '<pre>'; 
var_dump($arr); 
echo '</pre>';
?>

array(4) {
  [0]=>
  array(5) {
    [0]=>
    string(2) "pp"
    [1]=>
    string(2) "bz"
    [2]=>
    string(2) "cu"
    [3]=>
    string(8) "02.04.08"
    [4]=>
    string(1) "1"
  }
  [1]=>
  array(5) {
    [0]=>
    string(1) "o"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
    [3]=>
    string(8) "07.04.08"
    [4]=>
    string(1) "1"
  }
  [2]=>
  array(5) {
    [0]=>
    string(1) "t"
    [1]=>
    string(1) "w"
    [2]=>
    string(1) "c"
    [3]=>
    string(8) "09.04.08"
    [4]=>
    string(1) "0"
  }
  [3]=>
  array(5) {
    [0]=>
    string(1) "u"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "z"
    [3]=>
    string(8) "10.04.08"
    [4]=>
    string(1) "0"
  }
}

Melden Sie sich an, um einen Kommentar zu erstellen.

Seiten-Werkzeuge