ksort nach $value verzwickte Sache!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ksort nach $value verzwickte Sache!

    Guten abend,

    ich möchte gerne eine Sortierung von einem Zweidimensionalen Array vornehmen!Es soll alles nach $value[REFERENCE_TIME] sorrtiert werden. Es soll praktisch ALLES nach Datum sortiert werden! Leider klappt es so wie UNTEN beschrieben nicht und weis nicht wie ich vorgehen muss!

    Kann mir jemand helfen wie ich vorgehen muss?

    PHP Code:
    $erg $xml_1->output();
    foreach (
    $erg as $val) {
    ksort ($val);
    foreach (
    $val as $value) {

    $log_output .= "<tr><td>{$value[REFERENCE_TIME]}</td>" .
    "<td>{$value[DURATION]}</td><td>{$value[ERROR_CODE]}</td>" .
    "<td>{$value[CONFORMED_CALLING_NUMBER]}</td><td>{$value[CONFORMED_CALLED_NUMBER]}</td>" .
    "<td>{$value[CALLING_IMEI]}</td><td>{$value[CALLED_IMEI]}</td>" .
    "<td>{$value[DIALLED_DIGITS]}</td><td>{$value[CALL_REFERENCE]}</td></tr>";
    }
     } 
    ...und so sieht mein Array per print_r aus!!

    Array
    (
    [1] => Array
    (
    [CALLTYPE] => MOC
    [REFERENCE_TIME] => 2006-08-24 17:34:44.0
    [DURATION] => 190
    [ERROR_CODE] => 16
    [CONFORMED_CALLING_NUMBER] => 491791234567
    [CONFORMED_CALLED_NUMBER] => 49180123456
    [CALLING_IMEI] => -1
    [CALLED_IMEI] => -1
    [DIALLED_DIGITS] => 01123456
    [CALL_REFERENCE] => 4805
    )

    Gruss Petro
    Last edited by petro_0; 29-08-2006, 20:27.
    gruss pedro

  • #2
    Re: ksort nach $value verzwickte Sache!

    Original geschrieben von petro_0
    Es soll alles nach $value[REFERENCE_TIME] sorrtiert werden.
    Was willst du dann mit ksort, welches nach den Schlüsseln sortiert?

    Nutze usort.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Comment


    • #3
      PHP Code:
      function comp($a,$b){
          if(
      $a['REFERENCE_TIME'] == $b['REFERENCE_TIME']){
              return 
      0;
          }
           return (
      $a['REFERENCE_TIME'] < $b['REFERENCE_TIME']) ? -1;
      }
      usort($array,'comp');
      var_dump($array); 
      So sollten die Werte nach dem Feld REFERENCE_TIME sortiert werden. Wenn es so nicht direkt funzt müsstest du noch strtotime() auf das Feld anwenden, damit ein Unix Zeitstempel ensteht, den man einfach vergleichen kann. Imho müsste es aber auch mit dem von dir angegebenen Datumsformat funzen.

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Comment

      Working...
      X