Para crear un array con 10 valores aleatorios comprendidos en el rango del 1 al 10, puedes utilizar la función
mt_rand()
con la cual puedes generar un valor comprendido en el rango que especifiques como argumentos para dicha función. Tan solo bastaría utilizar un bucle que compruebe que la cantidad de elementos del array (valor que puedes obtener mediante la función
count()
) es menor que 10, con lo cual procedes a insertar un nuevo elemento en el array hasta que se complete. Te sugiero utilizar una función para que puedas reutilizar el
script.
Código PHP:
Ver originalfunction rango($inicio, $fin, $total){
$arr = [];
while (count($arr) < $total){ }
return $arr;
}
//Llamada a la función
rango(1, 10, 10);
Con respecto a la cuenta de repeticiones de un valor dado en el array generado, puedes utilizar una estructura repetitiva para recorrer el array y comparar cada valor contenido con el valor a encontrar. También puedes utilizar la función
array_intersect()
con la cual obtendrás un array que contiene los valores que se repiten en todos los arrays que se le pasen como argumentos. Para esto, el valor a buscar tendrá que ser colocado dentro de un array. El total de elementos del array resultante será igual a la cantidad de repeticiones que hay del valor a buscar en el array generado al inicio.
Código PHP:
Ver originalfunction contar($array, $valor){
}
//Llamada a la función (con valores de ejemplo)
contar(rango(1, 10, 10), 2);
Todo junto:
Código PHP:
Ver originalfunction contar($array, $valor){
}
function rango($inicio, $fin, $total){
$arr = [];
while (count($arr) < $total){ }
return $arr;
}
echo contar(rango(1, 10, 10), 2);
Un saludo