I would like to create an array () where I can put: $ arr="argument1, argument2, argument3 .."; And return only 1, 2 or 3, randomly. How can it be done?
I would like to create an array () where I can put: $ arr="argument1, argument2, argument3 .."; And return only 1, 2 or 3, randomly. How can it be done?
There are several alternatives.
random_int (PHP 7):
$array = ['um', 'array', 'qualquer'];
// Contagem de elementos da array:
$contagem = count($array);
// Gera a "randomização" (ex. '2'):
$gerador = random_int(0, ($contagem - 1));
# É necessário subtrair um porque existem 3 elementos, porém array começa em 0 até 2, ao invés de 0 até 3. Portanto reduzindo 1, irá fazer com que entre na condição de 0 até 2. ;)
// Seleciona o item gerado previamente (ex. 'qualquer'):
$final = $array[$gerador];
This method (random_int) is supposed to be the safest!
array_rand (PHP 4, PHP 5, PHP 7):
$array = ['um', 'array', 'qualquer'];
// Gera a "randomização" (ex. '2'):
$gerador = array_rand($array);
// Seleciona o item gerado previamente (ex. 'qualquer'):
$final = $array[$gerador];
mt_rand (PHP 4, PHP 5, PHP 7):
$array = ['um', 'array', 'qualquer'];
// Contagem de elementos da array:
$contagem = count($array);
// Gera a "randomização" (ex. '2'):
$gerador = mt_rand(0, ($contagem - 1) );
# É necessário subtrair um porque existem 3 elementos, porém array começa em 0 até 2, ao invés de 0 até 3. Portanto reduzindo 1, irá fazer com que entre na condição de 0 até 2. ;)
// Seleciona o item gerado previamente (ex. 'qualquer'):
$final = $array[$gerador];
You can do this:
//Criando array
$a = array("red","green","blue","yellow","brown");
//Número máximo do rand
$max = (count($a) - 1);
//Resultado randômico
echo rand(0, $max);