Optimisation via les fonctions intégrées en PHP
Supposons qu'un programmeur vérifie si
le nombre 5 est présent dans un tableau :
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // sortir de la boucle pour éviter des tours supplémentaires
}
}
var_dump($exists);
?>
Je prétends que ce code présente un problème. Qu'est-ce qui ne va pas ? Ne sortons-nous pas de la boucle après avoir trouvé le nombre 3 ? Le fait est que les fonctions intégrées en PHP fonctionnent toujours beaucoup plus rapidement qu'un code personnalisé équivalent.
Dans notre cas, il existe une fonction in_array
qui résout le problème posé - et c'est cette fonction
qu'il faut utiliser :
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Morale : avant de résoudre un problème, vérifiez toujours s'il n'existe pas une fonction intégrée en PHP pour le résoudre.
Dans le code suivant, un programmeur trouve la somme des éléments d'un tableau. Optimisez la solution de ce programmeur.
Voici le code :
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
Dans le code suivant, un programmeur trouve le produit des éléments d'un tableau. Optimisez la solution de ce programmeur :
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>