String Zerlegen PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
ausdruck
code
datum
entwickler
hilfe
jahreszahl
jemand
lernen
machen
match
minute
monat
sekunde
string
stunde
tag
url
zerlegen
ziffer
-
Hallo..
Heute brauche ich mal wieder eure tag/hilfe">Hilfe..
Und zwar geht es wiedermal um das Zerlegen eines Strings.
Folgender:
$datum = "2012-09-01 03:11:20";
Wie stelle ich es nun am einfachsten an, dass mir der String folgendermasen zerlegt wird?
in: $jahreszahl $monat $tag $stunde $minute $sekunde
also das es für Jede Einheit eine eigene Variable gibt.
Wenn jemand eine Lösung weis, wäre es nett, wenn man mir auch noch verständlich macht wie das Funktioniert^^
Irgendwann muss ich das ja auch mal lernen :-)
Liebe Grüsse,
Paddy
Beitrag zuletzt geändert: 1.9.2012 16:43:40 von paddy-herrmy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
geht das net so:
$min = 03:11:20;
$day = 01;
$month = 09;
$year = 2012;
echo $year , " - " ,$month , " - " , $day , " - " , $min;
keine hnung ob es geht es zeimlich spät ;D -
browsergame-entwickler schrieb:
geht das net so:
$min = 03:11:20;
$day = 01;
$month = 09;
$year = 2012;
echo $year , " - " ,$month , " - " , $day , " - " , $min;
keine hnung ob es geht es zeimlich spät ;D
Hihi.. entweder du willst nur trollen, oder du hast mich nicht verstanden ;)
Von hand zerlegen kann ich das natürlich selbst^^
Ich möchte den gesammten string aber von php automatisch in die einzelnen Variablen zerlegt bekommen :D -
paddy-herrmy schrieb:
browsergame-entwickler schrieb:
geht das net so:
$min = 03:11:20;
$day = 01;
$month = 09;
$year = 2012;
echo $year , " - " ,$month , " - " , $day , " - " , $min;
keine hnung ob es geht es zeimlich spät ;D
Hihi.. entweder du willst nur trollen, oder du hast mich nicht verstanden ;)
Von hand zerlegen kann ich das natürlich selbst^^
Ich möchte den gesammten string aber von php automatisch in die einzelnen Variablen zerlegt bekommen :D
nee ich hab dich dann net verstanden :D
sorry ich sollte mich langsam mal hinlegen :D
dann kann ich dir leider auch net helfen sorry wegen dem unnötigen post -
paddy-herrmy schrieb:
Also zuerst mal die Lösung:
Wenn jemand eine Lösung weis, wäre es nett, wenn man mir auch noch verständlich macht wie das Funktioniert^^
Irgendwann muss ich das ja auch mal lernen :-)$datum = '2012-09-01 03:11:20'; $regex = '/(\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)/'; preg_match($regex, $datum, $match); $jahreszahl = $match[1]; $monat = $match[2]; $tag = $match[3]; $stunde = $match[4]; $minute = $match[5]; $sekunde = $match[6]; echo("Es ist die $sekunde. Sekunde der $minute. Minute der $stunde. Stunde des $tag. Tages im Monat $monat des Jahres $jahreszahl");
Und dann die Erklärung:
In
steht ein regulärer Ausdruck. Falls du das noch nicht kennen solltest: damit lassen sich sehr einfach Muster in Strings suchen. Dabei steht das$regex
für eine Ziffer (0-9). Das\d
danach bedeutet, dass ein oder mehrere Zeichen, in dem Fall Ziffern, gefunden werden.+
Die runden Klammern bedeuten immer, dass das, was darin steht in eine eigene Variable (genauer: als Element in einem Array) gespeichert wird.
zerlegt jetzt den String inpreg_match()
anhand des regulären Ausdrucks und speichert das Ergebnis in das Array$datum
.$match
Beitrag zuletzt geändert: 1.9.2012 11:18:47 von hackyourlife -
$tmparr = explode( ' ' , '2012-09-01 03:11:20' ); $datearr = explode( '-' , $tmparr[0] ); $year = $datearr[0]; $month = $datearr[1]; $day = $datearr[2]; $timearr = explode( ':' , $tmparr[1] ); $hour = $timearr[0]; $min = $timearr[1]; $sec = $timearr[2];
Sowas?
Du kannst auch:
$time = strtotime( '2012-09-01 03:11:20' ); date( 'Y' , $time ); ...
benutzen. Dann in "date" einfach reinpacken, was für einen String du gern hättest.
Liebe Grüße -
hackyourlife schrieb:
paddy-herrmy schrieb:
Also zuerst mal die Lösung:
Wenn jemand eine Lösung weis, wäre es nett, wenn man mir auch noch verständlich macht wie das Funktioniert^^
Irgendwann muss ich das ja auch mal lernen :-)$datum = '2012-09-01 03:11:20'; $regex = '/(\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)/'; preg_match($regex, $datum, $match); $jahreszahl = $match[1]; $monat = $match[2]; $tag = $match[3]; $stunde = $match[4]; $minute = $match[5]; $sekunde = $match[6]; echo("Es ist die $sekunde. Sekunde der $minute. Minute der $stunde. Stunde des $tag. Tages im Monat $monat des Jahres $jahreszahl");
Und dann die Erklärung:
In
steht ein regulärer Ausdruck. Falls du das noch nicht kennen solltest: damit lassen sich sehr einfach Muster in Strings suchen. Dabei steht das$regex
für eine Ziffer (0-9). Das\d
danach bedeutet, dass ein oder mehrere Zeichen, in dem Fall Ziffern, gefunden werden.+
Die runden Klammern bedeuten immer, dass das, was darin steht in eine eigene Variable (genauer: als Element in einem Array) gespeichert wird.
zerlegt jetzt den String inpreg_match()
anhand des regulären Ausdrucks und speichert das Ergebnis in das Array$datum
.$match
Danke, du bist immer wieder eine Große Hilfe :-)
JAja.. Regex is echt ne komplizierte sache.. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage