IPC 2012 Spring Edition

Continue und Break

Sehr häufig hat man Schleifen und möchte aber mit dieser Schleife nur einen Fakt feststellen, der möglicherweise gar nicht das Durchlaufen aller Array-Einträge benötigt. Wenn man beispielsweise ein Array mit lauter natürlicher Zahlen hat und überprüfen möchte, ob die Summe aller Zahlen über einem bestimmten Wert liegen. Bei einer solchen Aufgabe kann die Schleife ja abgebrochen werden, wenn der bestimmte Wert überschritten wurde (man beachte, dass es sich um natürliche Zahlen handelt, die nicht negativ sein können). Leider fällt mir kein praxisnäheres Beispiel ein, aber es gibt sicherlich auch in ihrer Anwendung Schleifen, auf die das angewendet werden kann. Weiterlesen >

Schlagwörter: , , , , ,

Funktionsaufruf per Referenz

In den meisten PHP-Anwendung gibt es Funktionen (oder bei OOP Methoden). Diese können Parameter als Eingabewerte empfangen. Nun gibt es – wie in den meisten Programmiersprachen – in PHP den Aufruf per call-by-value und call-by-reference. Der Unterschied ist, dass bei call-by-value das zu übergebende Objekt ausgelesen und in eine neue (lokale) Variable gespeichert wird, mit der dann innerhalb der Funktion gearbeitet werden kann.
Bei call-by-reference wird nicht der Inhalt übergeben sondern lediglich ein Zeiger auf eine bestimmte Variable. Das spart jede Menge Speicherplatz, da die Daten nur einmal im Speicher sein müssen, während die gleichen Daten bei call-by-value sowohl in der übergebenen Variable als auch in der lokalen Variable in der Funktion stehen. Weiterlesen >

Schlagwörter: , , , , , ,

Zählschleife so oft durchführen, wie ein Array Einträge hat

Schleifen, die ein Array durchlaufen sind sehr häufig. Dazu gibt es entweder die foreach-Schleife oder die for-Schleife mit Zählvariable. Besonders bei letzterer sieht man sowohl in von Hobbyprogrammiern als auch in von professionellen Entwicklern programmiertem Code recht häufig folgenden Schleifenkopf:

$array = array(...);
for($i=0;$i<count($array);$i++)>
...
}

Weiterlesen >

Schlagwörter: , , , ,