Muchas veces al diseñar preguntas o algoritmos requerimos generar números aleatorios. Ya hemos estudiado una función integrada en PHP para generar números aleatorios en el artículo Función PHP |rand() . La función rand() se utiliza para generar números aleatorios. Si generamos una secuencia de números aleatorios con la función rand(), creará la misma secuencia, una y otra vez, cada vez que se ejecute el programa. Para resolver este problema, se puede usar otra función integrada de PHP, srand().
La función srand() en PHP se utiliza para sembrar el generador de números aleatorios rand(). La función srand() establece el punto de partida para producir una serie de números enteros pseudoaleatorios. Si no se llama a srand(), la semilla de rand() se establece como si se llamara a srand(1) al inicio del programa. La función srand() inicia el generador de números aleatorios con seed(arg) o con un valor aleatorio si no se proporciona seed(arg).
Sintaxis:
srand($seed)
Parámetros: esta función acepta una sola semilla de parámetro . Es un parámetro opcional y es de tipo entero. Especifica el valor semilla.
Valor devuelto: esta función no devuelve ningún valor.
Ejemplos:
Input : srand(time()); Output : 1793542495 Input : srand(5) Output : 3
Los siguientes programas ilustran la función srand() en PHP:
- Cuando se usa la marca de tiempo como el valor de $semilla junto con la función srand():
<?php
srand(time());
echo
(rand());
?>
Producción:
1793542495
- Cuando un valor inicial definido por el usuario se pasa como argumento con la función srand():
<?php
srand(5);
echo
(rand(1, 10));
?>
Producción:
3
Puntos importantes a tener en cuenta:
- La función srand() se puede utilizar para generar números aleatorios.
- La función srand() no crea la misma secuencia de números aleatorios que la función rand().
- No tiene valor de retorno.
Referencias :
http://php.net/manual/en/function.srand.php
Publicación traducida automáticamente
Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA