[PHP] Datumsfunktion von PHP nimmt keine Variablen...?!?

Stuhl

Lt. Junior Grade
Registriert
Juni 2001
Beiträge
409
Datumsfunktion von PHP nimmt keine Variablen...?!?

Hi, da bin ich mal wieder, schon mit dem nexten Problem, aber diesmal dürfte es berechtigt sein, glaub ich:
<?
$montag = mktime(0,0,0,1,28,2002);
$datummontag = date("d.m.Y",$montag);
echo $datummontag;
//damit wird als Datum 28.01.2002 ausgegeben!//

schreibe ich aber:
<?
$var = "0,0,0,1,28,2002"
$montag = mktime('$var');
$datummontag = date("d.m.Y",$montag);
echo $datummontag;
//dann wird nicht 28.01.2002 sondern das aktuelle Systemdatum ausgegeben. D.h. er löst Variablen innerhalb der mktime Klammern nicht auf...wie kann ich das lösen?

THX Stuhl

Ps.: Hoffe, dieses Problem ist etwas konstruktiver!...
 
Im ersten Fall übergibst du mehrere Werte durch Komma getrennt an mktime(), woraufhin das korrekte Datum berechnet wird.

Im zweiten Fall hingegen übergibst du eine Zeichenkette an die Funktion. Diese Zeichenkette wird als zusammengehörig betrachtet und somit übergibst du nur ein Argument (die Zeichenkette mitsamt ihren Kommas) anstatt der nötigen sechs Argumente. Die anderen 5 Argumente werden also nicht übergeben und haben folglich keinen Wert. Hier scheint mktime() sehr tolerant zu sein und gibt bei fehlerhaften bzw. nicht vorhanden Werten das aktuelle Datum aus.
 
hmm

scheint einleuchtend, und wie kann ich die Variable in 6 unterteilen?

THX Stuhl
 
Sagen wir es mal so: Das geht, aber es ist nicht sehr effizeint.
Du kannst einen String mit der Funktion explode() in ein Array aufteilen.
PHP:
$var = "0,0,0,1,28,2002";
$array = explode( ",", $var );
$montag = mktime($array[0],$array[1],$array[2],$array[3],$array[4],$array[5],);
 
Danke

funktioniert einwandfrei.

THX

Stuhl
 
Zurück
Oben