Tach!
Auch wenn man nur Seiteneffekte auslösen möchte, würde ich nicht zur
foreach
-Schleife (PHP) oder zur for-of-Schleife (ES6) greifen:
(Die Dinger heißen auf deutsch Nebenwirkungen oder Nebeneffekte. Seiteneffekte sind eine falsche 1:1-Übertragung des englischen side effects.)
Das Javascript-forEach() hatte ich im Sinn. Du meintest vermutlich nicht 99% map/reduce sondern 99% funktionale Herangehenswiese, egal welche Funktionen dabei konkret zum Einsatz kommen. Da bin ich dann auch einigermaßen bei dir.
Sondern zum kopflosen Bruder
array_walk()
(PHP) bzw.[].forEach()
(JavaScript):
array_walk( $array, 'var_dump');
var_dump($array);
Mach es nicht umständlicher als es notwendig ist, auch wenn es nur ein schnell ausgedachtes Beispiel ist. Zudem ist 'var_dump' stringly-typed (kein Tippfehler). Du wolltest doch ordentliches Programmieren propagieren. Um beim Beispiel zu bleiben:
array_walk($array, function ($element) {
var_dump($element);
});
Syntax gehört ausgeschrieben und nicht in Strings versteckt.
Wo ist nun aber bei PHP der Vorteil von array_walk() gegenüber foreach? - Außer dass man zur Laufzeit entscheiden kann, was man als auszuführende Funktion übergeben möchte, was ein wohl eher seltener Anwendungsfall sein dürfte, sehe ich ihn noch nicht wirklich. Es ist erstmal nur anders. (Benchmark-Vergleiche interessieren mich auch nicht, die Unterschiede gehen bei den üblichen Datenmengen im Grundrauschen auf.)
dedlfix.