for($i=1900;$i <= 2013;$i++)
Tommi
- php
0 Steel1 Baba0 Steel
0 Gunnar Bittersmann4 Matti Mäkitalo
Ich möchte gerne einen Zahlenstran erstellen von 1900 bis 2013.
for($i=1900;$i <= 2013;$i++)
{
echo $i.'<br/>';
}
Aber eigentlich würde ich gerne die Zahlenreihe nicht aufwärts sondern abwärts ausgeben. und was kann ich statt 2013 nehmen, so das es auch 2014 inklusive der 2014 funktioniert?
für eure Hilfe bin ich jetzt schon mal dankbar
Tommi
Moin!
Ich möchte gerne einen Zahlenstran erstellen von 1900 bis 2013.
for($i=1900;$i <= 2013;$i++)
{
echo $i.'<br/>';
}
Soweit ist ja schonmal alles klar.
Aber eigentlich würde ich gerne die Zahlenreihe nicht aufwärts sondern abwärts ausgeben. und was kann ich statt 2013 nehmen, so das es auch 2014 inklusive der 2014 funktioniert?
Da frag ich mich gerade 2 Dinge: Verstehe ich dich nicht? Oder trollst Du nur etwas rum?
Abwaerts waere ($i=2013;$i >= 1900;$i--)
Wnd was schreibt man wohl wenn man nicht 2013 sondern 2014 haben moechte?
Tipp: NICHT 2015... -.-
Aber eigentlich würde ich gerne die Zahlenreihe nicht aufwärts sondern abwärts ausgeben.
Vertausche die Grenzen und nutze das Dekrement $i-- statt.
und was kann ich statt 2013 nehmen, so das es auch 2014 inklusive der 2014 funktioniert?
date("Y");
Cheers,
Baba
Moin!
und was kann ich statt 2013 nehmen, so das es auch 2014 inklusive der 2014 funktioniert?
date("Y");
Ah! Mit der Antwort macht die Frage ploetzlich Sinn! Danke!
@@Tommi:
nuqneH
Aber eigentlich würde ich gerne die Zahlenreihe nicht aufwärts sondern abwärts ausgeben.
Dann fängst du eben bei der hohen Zahl an und zählst rückwärts bis zur 1900.
und was kann ich statt 2013 nehmen, so das es auch 2014 inklusive der 2014 funktioniert?
date() mit entsprechendem Formatstring; mit intval() den String in ein Integer umwandeln.
für eure Hilfe bin ich jetzt schon mal dankbar
Tommi
Qapla'
date() mit entsprechendem Formatstring; mit intval() den String in ein Integer umwandeln.
intval() ist nicht notwendig, das macht PHP selbst, wenn es mit Zahlen in Strings rechnen soll.
Sofern die Zahlen wie Dezimalzahlen und keine Grenze überschreiten (32- bzw. 64-Bit-Überlauf beachten) aussehen ja :)
In diesem Kontext sollte es also keine Probleme geben.
Tach!
intval() ist nicht notwendig, das macht PHP selbst, wenn es mit Zahlen in Strings rechnen soll.
Sofern die Zahlen wie Dezimalzahlen und keine Grenze überschreiten (32- bzw. 64-Bit-Überlauf beachten) aussehen ja :)
intval() kann auch nur denselben String interpretieren, den die automatische Typumwandlung zu Gesicht bekommt. Es kann lediglich explizit eine Zahlenbasis berücksichtigen. Aber gegen 32/64-Bit-Überläufe ist es auch machtlos.
dedlfix.
Hi,
Ich möchte gerne einen Zahlenstran erstellen von 1900 bis 2013.
Weil es eigentlich viel schöner ist, wollte ich es mal zeigen:
for ($stop = new DateTime('1900-01-01'),
$i = new DateTime(),
$year = DateInterval::createFromDateString('1 year');
$i >= $stop;
$i->sub($year)
) {
echo $i->format('Y'), "\n";
}
Dann hat man in $i schon ein DateTime-Objekt.
Bis die Tage,
Matti
Ich möchte gerne einen Zahlenstran erstellen von 1900 bis 2013.
Weil es eigentlich viel schöner ist, wollte ich es mal zeigen:
for ($stop = new DateTime('1900-01-01'),
$i = new DateTime(),
$year = DateInterval::createFromDateString('1 year');
$i >= $stop;
$i->sub($year)
) {
echo $i->format('Y'), "\n";
}
>
> Dann hat man in $i schon ein [DateTime](http://www.php.net/manual/de/class.datetime.php)-Objekt.
Ist das nicht ein wenig zuviel overhead?
Wie [Baba vorgeschlagen hat](https://forum.selfhtml.org/?t=213762&m=1461947)
~~~php
for($year = date('Y'); $year >= 1900; $year--) {
echo "$year\n";
}
sieht für mich in Anbetracht der 'Aufgabenstellung' sauberer aus, weil es einfach schon mal von der Masse an Code weniger ist und nicht 3 Objekte benötigt.
MfG
bubble
Ist das nicht ein wenig zuviel overhead?
Depends. Ich bin ein Freund der Philosophie, in erster Linie für den Programmierer zu programmieren. Entwickler kommunizieren durch ihren Code. Mit diesem Ziel vor Augen, finde ich den Code von Matti hervorragend. Er ist schlicht und einfach sprechend. Auch im Sinne der Abstraktion und die damit einhergehende Skalierbarkeit finde ich den Code preisverdächtig.
Spielt Leistung eine übergeordnete Rolle, ist vermutlich eine simplere Vorgehensweise vorzuziehen.
@@1UnitedPower:
nuqneH
Ich bin ein Freund der Philosophie, in erster Linie für den Programmierer zu programmieren.
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”
—Martin Fowler
Qapla'
Okay, das geht sogar in meinen Dickschädel, irgendwie hab ich daran nicht gedacht.
MfG
bubble