Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: формирование строки состоящей и трех случайных чисел
 
 автор: diez   (24.11.2009 в 00:25)   письмо автору
 
 

Здравствуйте!

Задача - формирование строки состоящей и трех случайных чисел, выбранных в заданном промежутке. Вроде чего-то там понаписал, но иногда вместо 3 формируется 2 или 4 числа в строке! Ошибка скорее всего где-то в логике, сижу туплю понять не могу. Вот собственно что есть:

$random_id_array = array();
    for ($i=1; $i<=3; $i++)
        {
            $random_num = rand (2,12);
            array_push ($random_id_array,$random_num);
        }
        $random_id_array = array_unique($random_id_array);
        $count = count($random_id_array);
        
            if ($count<3)
                {
                    
                    $skolko_nado= 3 - $count;
                    for ($i=0; $i<=$skolko_nado; $i++)
                    {
                        $random_num  = rand (2,12);
                        array_push ($random_id_array,$random_num);
                        $random_id_array = array_unique($random_id_array);
                        
                    }
                    
                }
        
                        $random_id_str = implode(",",$random_id_array);
                        echo $random_id_str;
                    

Понимаю, что написанно не оптимально, если кто поможет буду признателен!
Заранее спасибо!

  Ответить  
 
 автор: Киналь   (24.11.2009 в 00:46)   письмо автору
 
   для: diez   (24.11.2009 в 00:25)
 

Э-э...

$num1 = rand (2,12);
$num2 = rand (2,12);
$num3 = rand (2,12);

echo $num1.$num2.$num3;



Нет?

  Ответить  
 
 автор: а-я   (24.11.2009 в 00:52)   письмо автору
 
   для: diez   (24.11.2009 в 00:25)
 

надо уникальные значений?

может так:

<?
    
for($random_num=array(); sizeof($random_num)<3; ) {
    
$num rand(2,12);
        if(
in_array($num$random_num))
        continue;
    
$random_num[] = $num;
    }
$random_id_str implode(','$random_num);
echo 
$random_id_str;
?>

  Ответить  
 
 автор: diez   (24.11.2009 в 00:58)   письмо автору
 
   для: а-я   (24.11.2009 в 00:52)
 

Спасибо!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования