<?php
$ourfile = fopen("largetextfile.txt",'r');
for($i = 0; $s = fgets($ourfile,10000); $i++){
if(mt_rand(0,$i) == 0) $line = $s;
}
echo $line;
?>
Спустя 44 минуты, 12 секунд (11.05.2012 - 17:15) inpost написал(а):
echo rand(1,100);
Спустя 9 минут, 59 секунд (11.05.2012 - 17:25) kilogram написал(а):
Объясните вот это действие:
Непонятно, зачем присваивать переменную s? Что это дает?
Ещё, как можно выводить $line если он объявлен внутри цикла фора, а не за её пределами?
if(mt_rand(0,$i) == 0) $line = $s;
Непонятно, зачем присваивать переменную s? Что это дает?
Ещё, как можно выводить $line если он объявлен внутри цикла фора, а не за её пределами?
Спустя 10 минут (11.05.2012 - 17:35) inpost написал(а):
"Ещё, как можно выводить $line если он объявлен внутри цикла фора, а не за её пределами?"
А это тут при чём? Фор - это не ограниченная функция по области видимости. Всё, что внутри - всё снаружи.
И да, я не понимаю смысла этого скрипта вообще.
А это тут при чём? Фор - это не ограниченная функция по области видимости. Всё, что внутри - всё снаружи.
И да, я не понимаю смысла этого скрипта вообще.
Спустя 19 минут, 1 секунда (11.05.2012 - 17:54) kilogram написал(а):
Цитата |
А это тут при чём? Фор - это не ограниченная функция по области видимости. Всё, что внутри - всё снаружи. |
Все что внутри, все снаружи? Попробовал написать вот самое простое.
for($i=0; $i < 5; $i++){
$d+=$i;
}
echo $d;
Получается $d не снаружи и ошибка Notice: Undefined variable: d in
Как эта функция тогда выводит переменную line за пределами фора?
Спустя 1 час, 44 минуты, 12 секунд (11.05.2012 - 19:38) inpost написал(а):
$d+=$i; - К переменной D ты приплюсовываешь число! Вопрос, а $d вообще существует, что к ней ты пытаешься что-то добавить?
Это вопрос с ответом.
Это вопрос с ответом.