Optimierung durch integrierte Funktionen in PHP
Nehmen wir an, ein Programmierer prüft, ob
die Zahl 5 in einem Array vorhanden ist:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // wir brechen die Schleife ab, um unnötige Iterationen zu vermeiden
}
}
var_dump($exists);
?>
Ich behaupte, dass mit diesem Code etwas nicht stimmt. Was ist denn nicht in Ordnung, brechen wir nicht aus der Schleife aus, nachdem wir die Zahl 3 gefunden haben? Die Sache ist die, dass integrierte PHP-Funktionen immer um eine Größenordnung schneller arbeiten als äquivalenter selbstgeschriebener Code.
In unserem Fall existiert die Funktion in_array,
die die gestellte Aufgabe löst - und genau diese Funktion sollte
man verwenden:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Die Moral: Bevor Sie eine Aufgabe lösen, prüfen Sie unbedingt, ob es dafür eine integrierte PHP-Funktion gibt.
Im folgenden Code findet ein Programmierer die Summe der Elemente eines Arrays. Optimieren Sie die Lösung dieses Programmierers.
Hier ist der Code:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
Im folgenden Code findet ein Programmierer das Produkt der Elemente eines Arrays. Optimieren Sie die Lösung dieses Programmierers:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>