Ottimizzazione tramite funzioni integrate in PHP
Supponiamo che un programmatore debba verificare se
nell'array è presente il numero 5:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // usciamo dal ciclo per evitare iterazioni superflue
}
}
var_dump($exists);
?>
Sostengo che ci sia qualcosa che non va in questo codice. Cosa c'è di sbagliato, visto che usciamo dal ciclo dopo aver trovato il numero 3? Il fatto è che le funzioni integrate in PHP sono sempre ordini di grandezza più veloci del codice equivalente scritto manualmente.
Nel nostro caso, esiste la funzione in_array
che risolve il problema posto - e dovrebbe essere
utilizzata proprio questa funzione:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Morale: prima di risolvere un problema, assicurati sempre di controllare se non esista una funzione integrata in PHP per risolverlo.
Nel codice seguente, un programmatore trova la somma degli elementi di un array. Ottimizza la soluzione di questo programmatore.
Ecco il codice:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
Nel codice seguente, un programmatore trova il prodotto degli elementi di un array. Ottimizza la soluzione di questo programmatore:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>