Показать сообщение отдельно
  #12 (permalink)  
Старый 03.04.2012, 19:11
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

как почему???

echo — это функция вывода на экран, а не присваивания, т.е. она берет значение переменной $b и выводит на страницу (содержимое + 1), а сама переменная при этом не изменяется.

чтобы $b стала 11, нужно написать:
$b = $b+1
или
$b++;
или
$b += 1;

(эти записи идентичны).

а echo — ничего не меняет, а только лишь выводит.


<?php
function father($a){
echo $a, "<br>";
function child($b){
echo $b+1,"<br>";
$b++; // вот здесь переменная $b станет равна 11.
return $b * $b;
}

return $a * $a * child($a);
}

$result = father(10);
echo $result;
echo '<br>';
?>
__________________
С моих слов записано верно.
Ответить с цитированием