Optimización mediante funciones integradas en PHP
Supongamos que un programador verifica si
existe el número 5 en un array:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // salimos del ciclo para evitar iteraciones innecesarias
}
}
var_dump($exists);
?>
Afirmo que hay algo incorrecto con este código. ¿Qué está mal si salimos del ciclo después de encontrar el número 3? El problema es que las funciones integradas en PHP siempre funcionan considerablemente más rápido que un código personalizado equivalente.
En nuestro caso, existe la función in_array,
que resuelve la tarea planteada, - y se debe usar
precisamente esta función:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
Moraleja: antes de resolver una tarea, asegúrese siempre de verificar si PHP tiene una función integrada para resolverla.
En el siguiente código, un programador encuentra la suma de los elementos de un array. Optimice la solución de este programador.
Aquí está el código:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
En el siguiente código, un programador encuentra el producto de los elementos de un array. Optimice la solución de este programador:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>