Jump to content
  • 0

РАНДОМ


kilogram
 Share

Question

11 answers to this question

Recommended Posts

  • 0

Объясните вот это действие:

if(mt_rand(0,$i) == 0) $line = $s;

Непонятно, зачем присваивать переменную s? Что это дает?

Ещё, как можно выводить $line если он объявлен внутри цикла фора, а не за её пределами?

Link to comment
Share on other sites

  • 0

Объясните вот это действие:

if(mt_rand(0,$i) == 0) $line = $s;

Непонятно, зачем присваивать переменную s? Что это дает?

потому что цикл!

попробуй вот так:


<?php

$ourfile = fopen("largetextfile.txt",'r');
for($i = 0; $s = fgets($ourfile,10000); $i++){
if(mt_rand(0,$i) == 0) echo $s;
}
?>

и увидешь что получится.

Ещё, как можно выводить $line если он объявлен внутри цикла фора, а не за её пределами?

а что тебя смущает? все нормально.

Link to comment
Share on other sites

  • 0
а что тебя смущает? все нормально.

Попробовал написать вот самое простое.


for($i=0; $i < 5; $i++){
$d+=$i;
}
echo $d;

Получается $d не снаружи и ошибка Notice: Undefined variable: d in

Как эта функция тогда выводит переменную line за пределами фора?

Link to comment
Share on other sites

  • 0

Переменные локальны только внутри функции, внутри фора их локальными сделать нельзя. Значит, раз что-то врнутри фора переменной присвоено, значит эта переменная определена и дальше.

Link to comment
Share on other sites

  • 0

Нотис вылезает, потому что вы пытаетесь переменной $d присвоить её же значение + значение переменной $i, но, так как переменная $d не была инициализирована раньше, поэтому и значения у нее нет. Об этом и сообщается в нотисе.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy