Schleifen programmieren: FOR-Schleife

Schleifen braucht man, um bestimmte Bedingungen abzuprüfen und eine bestimmte Aktion auszulösen. Des Weiteren sorgen Schleifen auch für eine kontrollierte Ausgabe am Bildschirm o.Ä. Dies geschieht im Allgemeinen zeilenweise.
Trifft eine Bedingung zu, kann eine Schleife entweder durchlaufen oder beendet werden.
Noch mehr Flexibilität liegt in der Kombinierbarkeit. So kann beispielsweise eine Schleife in einer anderen laufen oder mehrere Bedingungen können abgeprüft werden, bevor Schleifen ins Spiel kommen.
Eine typische FOR-Schleife sieht folgendermaßen aus:

In diesem Fall wird erst die Variable, auch genannt Schleifenzähler, auf den Wert 1 gesetzt, dann zählt die Schleife bei jedem Durchlauf zu dem Wert von $i eine 1 dazu. Das passiert so lange, bis die Variable $i den Wert 13 erreicht hat. Die Schleife wird dann nicht mehr durchlaufen, weil in der Bedingung die Variable daraufhin geprüft wird, ob sie den Wert 12 unterschritten oder erreicht hat. Ist das der Fall, ist die Schleifendurchlaufbedingung nicht mehr erfüllt. Das heißt, die Bedingung für den Schleifendurchlauf ist der Wert der Variable $i und liegt zwischen 1 und 12.

Dieses kleine Beispiel kann z.B. ideal zur Nummerierung benutzt werden.
Da die Ausgabe aber noch hintereinander erfolgt (Zeile1Zeile2Zeile3Zeile4Zeile5Zeile6Zeile7Zeile8Zeile9Zeile10Zeile11Zeile12) muss am besten nach der Ausgabe der Variablen ein Zeilenumbruch eingefügt werden:

Die Bildschirmausgabe sieht dann so aus:
Zeile 1
Zeile 2
Zeile 3
Zeile 4
Zeile 5
Zeile 6
Zeile 7
Zeile 8
Zeile 9
Zeile 10
Zeile 11
Zeile 12

 

Apps vs. Web-Apps

Wenn man sich nicht entscheiden kann, ob eine native App oder eine Web-App das geeignete Medium sein soll, gibt es viele Firmen, die beraten können. Hier komme ich in Kurzform zu den Vor- und Nachteilen dieser Alternativen, die aber auch nicht die einzigen sind.

Sicherlich macht es Sinn, bei Interesse den Dienstleister seiner Wahl hinzuzuziehen, um sich anhand des tatsächlichen oder geplanten Bedarfs beraten zu lassen.

Während native Apps eigens für die jeweiligen Betriebssysteme (iOS, Android, …) programmiert werden und auf iPhone, iPad & Co laufen, sind Web-Apps im Prinzip bedarfsgerecht gestaltete HTML-5-Webseiten, die sich auf das Endgerät einstellen. Jedes Endgerät kann im geräteinternen Browser diese Web-App darstellen.

Je nach Bedarf muss man entscheiden, ob man auf Gerätefunktionen wie z.B. die integrierte Kamerasteuerung verzichten kann. So etwas kann natürlich nur die native App.

Vorteile nativer Apps:

  • Einfache Installation
  • Für bestimmte Geräte optimiert
  • Unterstützung von Kamera, Beschleunigungssensor und anderer Gerätehardware
  • Bekannte Bezugsquellen
  • Bewertungen in den App-Stores möglich
  • Bei Erfolg Auftauchen in Hit-Listen, dadurch hohe Downloadzahlen möglich
  • Speichern von beliebigen Daten auf dem Endgerät

Vorteile Web-Apps:

  • Keine Installation nötig, Browser reicht
  • Alle Betriebssysteme/alle Smartphones werden unterstützt
  • Weniger Kosten, mehr potentielle Nutzer
  • HTML5 kann auch eine Offline-Speicherung, damit ist eine Nutzung ohne Internetzugang möglich
  • Günstigere Entwicklungskosten
  • Google & Co finden die Web-App
  • Möglichkeit, Lesezeichen zu speichern, damit Auftauchen im Home-Screen des Endgeräts möglich
  • Schnelle Veröffentlichung der aktuellen Inhalte
  • Kein Zulassungsprozess durch App-Stores
  • Keine Provision (oft ca. 30 %) für App-Store-Betreiber
  • Bei guter Vorbereitung kann später auf native Apps umgewandelt werden, um deren Vorteile zu nutzen

Bildnachweis: LoboStudioHamburg / Pixabay

Trinitäts-Operator: If-Then-Else

Um eine If-Then-Else-Abfrage abzukürzen, kann ein Trinitäts-Operator (engl.: ternary operator) verwendet werden. Das erschwert zum Teil die Lesbarkeit des Quellcodes für andere, jedoch ist es ein probates Mittel, Quelltext zu sparen und oft mehrzeilige Abfragen kürzer zu gestalten. Die Kombination der Abfrage sieht im Prinzip so aus:

Man kann unschwer den Vorteil dieser Schreibweise erkennen.

annca / Pixabay

Datum und Timestamp in PHP

Datums- und Uhrzeitfunktionen sind für zeitgesteuerte Inhalte, Kalender u.v.m. wichtig. Ein Timestamp wird von Unix-Systemen verwendet und zählt die Sekunden seit dem 1.1.1970 um 00:00 Uhr. Der daraus entandene 10-stellige Zahlenkode ist für uns Menschen nicht gut zum Datums- und Zeit-Verständnis geeignet. Allerdings lässt sich damit sehr gut rechnen. Man kann so Zeitpunkte in Zukunft und in der Vergangenheit einfach berechnen, indem man die entsprechende Sekundenzahl zum jetzigen Timestamp addiert oder subtrahiert, wobei die Addition die Sekunden hinzuzählt, sodass ein Zeitpunkt in der Zukunft herauskommt.

Beispiel:
Der Timestamp 1232538000 stellt den Zeitpunkt 21.01.2009 12:40 Uhr dar. Subtrahiert man 86400 (= 24 Stunden in Sekunden), erhält man ausgehend vom jetzigen Zeitpunkt den neuen Zeitpunkt, der auf die Sekunde genau 24 Stunden zurückliegt.
Da der Timestamp, wenn er aktuell abgefragt wird, immer weiterzählt, bleibt der Abstand von 24 Stunden. Eine Anwendung wäre, wenn man im Rahmen einer Statistik bestimmen möchte, wieviele User sich in den letzten 24 Stunden angemeldet haben.

Zum Abfragen des aktuellen Timestamp benutzt man in PHP den folgenden Befehl:

Der aktuelle Timestamp steht nun in der Variablen $timestamp zur Verfügung. Das 24 Stunden zurückliegende in der Variablen $gestern.
Das alleine reicht noch nicht, denn man möchte vielleicht diesen Timestamp als gut lesbares Datum ausgeben. Die Datums- und Zeitfunktionen von PHP sind dabei sehr hilfreich date (format, timestamp) :

Formate:
d = Tag des Monats, zweistellig (03, 28)
j = Tag des Monats (7, 13)
m = Nummer des Monats, zweistellig (01, 12)
n = Nummer des Monats (3, 11)
y = Jahr, zweistellig (99, 09)
Y = Jahr, vierstellig (1999, 2009)
H = Stunde im 24-Stunden-Format, zweistellig (08, 15)
G = Stunde im 24-Stunden-Format (7, 19)
i = Minuten, zweistellig (08, 30)
s = Sekunden, zweistellig (07, 55)
w = Wochentag in Zahlenwert (1, 5)

 

Bildnachweis: annca / Pixabay