Есть 2 вопросика. Первый: как-нибудь можно организовать умный рандом? Т.е. есть, например, 100 чисел, из которых нужно выводить в разных местах по 10 чисел рандомно и так, чтобы они не повторялись Можно ли такое организовать? Второй: Есть массив, который был получен из mysql базы, в нем куча строк и несколько столбцов. Каким образом брать, допустим, первую строку из первого столбца и выводить его, потом вторую строку из первого столбца и так далее. Что то типа $array[0][$i], где $i - номер строки. Вот такие глупые вопросы новичка
PHP: $yourNumbers = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14); $choosenNumbers = array(); for ($i=1; $i<=10; $i++){ while(in_array($n=$yourNumbers[rand(0,count($yourNumbers)-1)],$choosenNumbers)); $choosenNumbers[]=$n; echo($i.' '.$n.'<br>'); }
BS, ага, спасибо Sergey89, не понятно немного. $items это мой массив. $item и $v я называю сам как хочу? Попробовал этот вариант, говорит - Invalid argument supplied for foreach() . Где я не прав?
Очень "Умный rand" Код (Text): <?php function my_rand($from, $to, &$array) { $rand = rand($from, $to); if(in_array($rand, $array)) { return my_rand($from, $to, $array); } else { $array[] = $rand; return $rand; } } $array = array(); echo 'Мне '.my_rand(1, 20, $array).', моему брату - '.my_rand(1, 20, $array).', сестре - '.my_rand(1, 20, $array).', другу - '.my_rand(1, 20, $array).', а подруге - '.my_rand(1, 20, $array).'.'; ?>