![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| kilogram |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 19.3.2012 Репутация: -1 Всего: 0 |
Читаю вложенные функции, там такой пример,странно, не работает
|
|||
|
||||
| kilogram |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 19.3.2012 Репутация: -1 Всего: 0 |
Откуда вывелось 11, если в child попадает вообще 30, должно 31 быть.
|
|||
|
||||
| ElGuapo |
|
|||
|
Добрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 1.7.2006 Репутация: нет Всего: 3 |
1. Тот код, который вы привели, ни 11, ни 31 выдавать не должен, так как в строке 9 лишний знак $ ($child);
2. Если исправить, то выдает 10 11 31. Здесь 11 - это результат вызова child из father в строке 9 с параметром $a, ранвым 10, а 31 - вызова child самой по себе в строке 13. |
|||
|
||||
| kilogram |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 19.3.2012 Репутация: -1 Всего: 0 |
То есть передав аргумент 10 функции father, объявив нвутри этой функции father функцию child, тоже с одним параметром, я получается ему передаю то же значение 10, которое увеличивается на 1 после этой строки echo $b+1,"<br>"; и стает 11?
Ещё, попробовал убрать вот эту строку return $b * $b; и код со всем не изменился, а выдает те же значения что и с этой строкой, что и без неё? Почему? Насчет этой строки: return $a * $a * child($a); здесь получается 10*10*30 что ли? Как считается? |
|||
|
||||
| ElGuapo |
|
|||
|
Добрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 1.7.2006 Репутация: нет Всего: 3 |
Позвольте дать вам один совет. На том уровне знаний PHP, которым вы обладаете, вам вложенные функции не нужны. К тому же, в PHP они реализованы довольно коряво, например, до вызова parent вызвать child вообще не получится. Образно говоря, вы не разобрались в элементарной механике, а просите помочь построить луноход. Такое обсуждение грозит затянуться надолго.
Вам нужно вначале понять, какое значение возвращает функция, как получить доступ к этому значению. Разобраться в том, как можно изменить значение переменной. Например, оператор echo никак изменить его не может; для присвоения нового значения существует оператор присвоения. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |