Pocas satisfacciones hay en la vida mayores que las de escribir un código muy complejo y difícil de entender en una única línea de código. Nos sentimos en la cúspide del olimpo de los dioses de la programación.
Seguramente no verás ningún problema con este código:
$p = -10;
$array = [];
while(++$p) { $array[] = "$p "; }
print_r($array);
echo PHP_EOL;
¿Adivinas cuál es el resultado?
Pues el resultado es éste:
Array ( [0] => -9 [1] => -8 [2] => -7 [3] => -6 [4] => -5 [5] => -4 [6] => -3 [7] => -2 [8] => -1 )
No era fácil predecir ¿verdad?
¿No crees que así sería más sencillo de leer?
$p = -9;
$array = [];
while($p<0) {
$array[] = $p;
$p++;
}
print_r($array);
echo PHP_EOL;
O incluso así:
$array = [];
for($i=-9; $i<0; $i++) {
$array[] = "$i ";
}
print_r($array);
echo PHP_EOL;
¿Hace cuánto que no veías un bucle for en PHP?
Y bueno, ya que estamos en PHP pues podemos hacer ésto:
print_r(range(-9, -1, 1));
¿Qué problema hay en escribir líneas de código complejas?
En primer lugar es muy perjudicial para la salud. El resto del equipo puede querer hacerle cosas muy dolorosas a tu cuerpo. Y por mucho que te guste el sado no te van a agradar si se deciden a aplicarte tu merecido castigo.
Este tipo de código no hace más que complicar la legibilidad de tu código (¿por qué la palabra «legibilidad» es tan difícil de pronunciar?). Y salvo que ganemos mucho en rendimiento hacer código difícil de leer no es una buena idea a corto/medio/largo plazo.