$ar=array();
$i=0;
do
{
$a=rand(0,10000);
if(!in_array($a,$ar))
{
$ar[]=$a;
$i++;
if($i==7)break;
}
}while(true);
echo 'Значения: '.implode(',',$ar);
Думаю вот так будет быстрее:
$ar=array();
$i=0;
do
{
$a=rand(0,10000);
if(!isset($ar[$a]))
{
$ar[$a]=$a;
$i++;
if($i==7)break;
}
}while(true);
echo 'Значения: '.implode(',',$ar);
Можно пожалуй еще с 2 циклами сделать зачем-то.
$ar=array();
$i=0;
do
{
do
{
$a=rand(0,10000);
if(!in_array($a,$ar))
{
$ar[]=$a;
break 2;
}
}
while(true);
$i++;
}while($i<7);
echo 'Значения: '.implode(',',$ar);
Не проверял, всё на вскидку.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.