Du bist nicht angemeldet (anmelden)
Seite 1
Erledigt: Zahlenreihenfolge mit Php ändern
Editiert: 08.07.11, 17:55 Uhr
Das habe ich: $falschezahl = „12.34.56“Das brauch ich: $richtigezahl = „56.34.12“
Gibts dafür vielleicht eine nette Php-Lösung um die Zahlen zwischen den Punkten umzudrehen?
Falls von Interesse: Es geht darum, daß ich Wordpress-Posts anhand eines Datums in Custom-Fields sortiere. Das geht mit einer Wordpress-Funktion ganz leicht. Die sortiert allerdings nur Zahlen und keine deutschen Datumsangaben. Also damit es richtig sortier wird muss ich das Datum so angeben: yy.mm.dd will es dann aber so ausgeben: dd.mm.yy
<?php query_posts(array('posts_per_page' => 2,'meta_key' => 'Datum','meta_value' => date('y.m.d'),'meta_compare' => '>','orderby' => 'meta_value','order' => 'ASC')); ?>
Bei einem Datum sollte es doch bestimmt auf dem Datumsobject ein DateFormat geben, welches Dir die Reihenfolge ausgibt wie Du es brauchst.
ODER:
Möchte wetten, dass es so gehen wird, ist sehr handgemacht. Zahl in String umwandeln. Mittels Splitten am Punkt trennen und in ein Array geben (Sollte Split glaube ich sowieso liefern das Array). Array sortieren und danach die Einzelteile wieder zusammenfügen. String in Zahl umwandeln.
Voila
Denke so geht es, eventuell zu kompliziert und es gibt was Fertiges in der PHP API. Arbeite nicht so viel mit PHP...
Vielleicht hilfts Dir ja trotzdem.
ODER:
Möchte wetten, dass es so gehen wird, ist sehr handgemacht. Zahl in String umwandeln. Mittels Splitten am Punkt trennen und in ein Array geben (Sollte Split glaube ich sowieso liefern das Array). Array sortieren und danach die Einzelteile wieder zusammenfügen. String in Zahl umwandeln.
Voila
Denke so geht es, eventuell zu kompliziert und es gibt was Fertiges in der PHP API. Arbeite nicht so viel mit PHP...
Vielleicht hilfts Dir ja trotzdem.
Lösung:
<?php$datum = $falschezahl;$arr = explode('-', $datum);$richtigezahl = $arr[2].'-'.$arr[1].'-'.$arr[0];?>
Auch wenn du schon eine Lösung hast, als Ergänzung vielleicht.
Wenn es wirklich nur um Datumsangaben geht und du bei date ein „richtiges“ Datumsformat angibst (bspw. Y-m-d), könntest du auch einfach mit strtotime() arbeiten.
Wenn es wirklich nur um Datumsangaben geht und du bei date ein „richtiges“ Datumsformat angibst (bspw. Y-m-d), könntest du auch einfach mit strtotime() arbeiten.
$falschesDatum = '2011-07-08';$richtigesDatum = date('d.m.Y', strtotime($falschesDatum));
$falschesDatum = '2011-07-08';$richtigesDatum = date('d.m.Y', strtotime($falschesDatum));
Jo, cool, geht. Und scheint wohl die elegantere Lösung zu sein. Nehm ich, Danke
