плз помогите, чет никак не выходит
есть массив
for($i=0; $i<$id; $i++) {
$rand_array[$i] = rand(1, $id);
}
надо сделать так чтобы на выходе каждый эл-т был уникален
к примеру если взять $id=2
и получим массив array(1, 1);
на выходе надо получить array(1, 2); или array(2, 1);
у меня получилось вот что:
PHP код:
$arr = array(2, 2, 1, 3, 3);
function uniq($arr, $id) {
for($j=0; $j<count($arr); $j++) {
$temp = $arr[$j];
for($k=0; $k<count($arr); $k++) {
if($i==4 && $k==4) return($arr);
$k = ($k==$j) ? ($j+1) : $k;
if($temp == $arr[$k]) {
$arr[$k] = rand(1, $id);
uniq($arr, $id);
}
}
}
return($arr);
}
но выполняется не всегда, видимо постоянная рекурсия жрет очень много ресурсов.
помогите как исправить код чтобы работал без сбоев)
или мб какой-нибудь другой вар обработки предложите)
заранее спасибо