hola, y bienvenido...
la mejor manera de hacer lo que necesitas es un bucle, cierto...
y debes usar un bucle lógico que cumpla la condición:
"
has que asigne el numero, si ya existe obtenemos un nuevo numero"
Código PHP:
$numero = array();
for ($i = 0; $i < 10; ++$i)
{
do // has un
{
$nuevo = rand(1, 10); // nuevo numero
} while(in_array($nuevo, $numero)); // si ya esta en el array?
$numero []= $nuevo; // asignado!
}
var_dump($numero);
espero te ayude, suerte!