За последние 24 часа нас посетили 22000 программистов и 1103 робота. Сейчас ищут 750 программистов ...

зациклить функцию как?

Тема в разделе "PHP для новичков", создана пользователем ufaclub, 22 дек 2011.

  1. ufaclub

    ufaclub Активный пользователь

    С нами с:
    29 авг 2011
    Сообщения:
    55
    Симпатии:
    0
    PHP:
    1. <?php
    2. $f1=file("1.txt");
    3. $f2=file("2.txt");
    4. $f3=file("3.txt");
    5. $r1=array_rand($f1);
    6. echo $f1[$r1];
    7. $r2=array_rand($f2);
    8. echo $f2[$r2];
    9. $r3=array_rand($f3);
    10. echo $f3[$r3];
    11. ?>
    выводиться 1 строчка из 3х слов (соответсвено каждое слово из файла)

    а нужно как то зациклить это дело... чтоб выводилось например 1000 строк (каждая строка в свою строчку)
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    PHP:
    1. <?php
    2. $f1 = shuffle(file("1.txt"));
    3. $f2 = shuffle(file("2.txt"));
    4. $f3 = shuffle(file("3.txt"));
    5. $lengths = array(count($f1), count($f2), count($f3));
    6. sort($lengths, SORT_NUMERIC);
    7. for($i = 0; $i < $lengths[0]; ++$i)
    8.     echo($f1[$i] . ' ' . $f2[$i] . ' ' . $f3[$i] . "<br />\n");
    9. ?>
    UPD: Ошибся малость. Забыл, что shuffle() принимает массив по ссылке, а возвращает bool...
    Тогда так:

    PHP:
    1. <?php
    2. $f1 = file("1.txt");
    3. $f2 = file("2.txt");
    4. $f3 = file("3.txt");
    5. shuffle($f1); shuffle($f2); shuffle($f3);
    6. $lengths = array(count($f1), count($f2), count($f3));
    7. sort($lengths, SORT_NUMERIC);
    8. for($i = 0; $i < $lengths[0]; ++$i)
    9.     echo($f1[$i] . ' ' . $f2[$i] . ' ' . $f3[$i] . "<br />\n");
    10. ?>