Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не могу понять как работает этот цикл
Форумы портала PHP.SU » » Вопросы новичков » Не могу понять как работает этот цикл

Страниц (1): [1]
 

1. kpripper - 30 Ноября, 2011 - 15:42:21 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. for ($i=0, $j=0, $k="Points"; $i<1000; $j++, $i+=$j) $k = $k.".";
  4. echo $k;?>
  5. <?echo $j;
  6. ?>


Почему если $i<1000 то $j==45, если $i<100 то $j==14, если $i<10 то $j==4 ?

И почему $k в результате имеет вид Points и дальше идет число точек равное $j ?
2. Stierus - 30 Ноября, 2011 - 16:04:40 - перейти к сообщению
$i=0, $j=0, $k="Points" - стартовые значения
$i<1000 - условие выхода из цикла
$j++, $i+=$j выполняется после каждой итерации

$k = $k."." - выполняется внутри цикла, тоесть тоже во время каждой итерации

echo $k; echo $j; - выполняется после цикла 1 раз


Ну и смотрите что происходит?

вошли в цикл, 1-я отработка
$i=0, $j=0, $k="Points"
$k = $k."." // теперь $k = Points.

итерация закончена, выполняется $j++, $i+=$j // теперь $j =1, $i=1

2-я отработка ($i<1000 )
$k = $k."." // теперь $k = Points..

итерация закончена, выполняется $j++, $i+=$j // теперь $j =2, $i=3

так распишите еще пару итераций сами и поймете в чем дело
3. kpripper - 30 Ноября, 2011 - 16:23:44 - перейти к сообщению
дальше
3-6
4-10
вроде понял

 

Powered by ExBB FM 1.0 RC1