<?php
$test = 32;
if ($test > 40) {
echo "Yes, $test is greater than 40.";
} elseif ($test > 35) {
echo "Yes, $test is greater than 35.";
} elseif ($test > 30) {
echo "Yes, $test is greater than 30."; //Se printea esta en la pantalla
} else {
echo "No, $test must be less than 40 and 35 and 30.";
}
?>
¿Porqué sale "is greater than 30" si 32 no es > que 40? 32 no es mayor que 40... ¿Podríais explicarmelo porfavor?
No tiene nada que ver. El primer condicional ($test>40) continua con un "elseif", es decir, que si no se cumple la condición, se evalua la siguiente.
En tu caso, las dos primeras condiciones son falsas, por lo que las salta, pero al llegar a la tercera, al ser verdadera, se ejecuta.
for($i=1;$i<=10;$i++) $password .= $letras[rand(0,30)];
Esto se leerlo como que empieza a contar desde el 1 y termina en el 10 de uno en uno. ¿Pero qué quiere decir lo demás? (digo a partir del .=)
Ese bucle sirve (supongo) para generar una contraseña aleatoria de 9 letras.
Cada vez que se ejecuta el bucle, añade un carácter a la variable $password eligiendo en cada caso una posición del array "$letras"
rand(x,y); sirve para generar de forma aleatoria un número entre los dos especificados (x,y).