За последние 24 часа нас посетил 60871 программист и 1772 робота. Сейчас ищут 858 программистов ...

Вопрос про циклы

Тема в разделе "PHP для новичков", создана пользователем anapkin, 18 дек 2008.

  1. anapkin

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

    С нами с:
    18 дек 2008
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Анапа
    Здравствуйте! Если не посчитаете вопрос очень глупым, пожалуйста ответьте:

    PHP:
    1. <?php
    2.  
    3. $dir    = 'upload';
    4.  
    5. $files1 = scandir($dir);
    6.  
    7. for ($nn=$n; $nn <= count($files1)-1; $nn++){
    8.  
    9.     $base = file("$dir/$files1[$nn]");
    10.  
    11.     print_r($base[3]) ;
    12. }
    13. ?>
    Если $n == 2, тогда выводятся значения четвертых строк ($base[3]) текстовых файлов, начиная с первого файла, заканчвая последним. Если $n равна 3, то все то же самое только со второго по последний. Вопрос вот в чем: А как мне сделать, чтобы результаты выводились с n-ного, но не по последний, а в количестве, допустим "$m"?

    При n = 2 результат выводится такой:
    А мне нужно, чтобы, допустим, при n=4 и m = 2, выводилось
    и т.п. Спасибо.

    P.S. Мозгов не хватает, а метод научно-популярного тыка подводит :)
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Что такое $p, $m ?

    Какая проблема выбирать в цикле по base от n длинной м?
     
  3. anapkin

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

    С нами с:
    18 дек 2008
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Анапа
    Я ошибся, отредактировал сообщение. Не $p , а $n. $n - число, с которого начинается вывод результата.
    это как? Не знаю пока этого, поэтому и спросил. Где вставить в код переменную "m", чтобы она учитывлась и результат был требуемым?
     
  4. Adamant

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

    С нами с:
    8 апр 2007
    Сообщения:
    234
    Симпатии:
    0
    Адрес:
    Казахстан г.Тараз
    PHP:
    1.  
    2. <?php
    3.  
    4. $dir    = 'upload';
    5.  
    6. $files1 = scandir($dir);
    7.  
    8. $n = 4;
    9. $m = 2;
    10.  
    11. for ($i = 1, $nn=$n; $nn < count($files1); $nn++){
    12.  
    13.     $base = file("$dir/$files1[$nn]");
    14.  
    15.     print_r($base[3]) ;
    16.     if ($i >= $m) {
    17.         break;
    18.     }
    19.     $i++;
    20. }
    21. ?>
    22.  
     
  5. anapkin

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

    С нами с:
    18 дек 2008
    Сообщения:
    23
    Симпатии:
    0
    Адрес:
    Анапа
    Спасибо огромное! Получился нужный результат:


    "break" пробовал, только ставил не в том месте, поэтому и не получалось. Еще раз спасибо!