Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Область видимости переменных в PHP / 12 сообщений из 12, страница 1 из 1
13.03.2014, 08:05
    #38584679
D_Pavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
Подскажите как сделать чтобы переменная была видима в функции и в функции внутри функции?
Например:$a=0;
one();
echo $a;//должно быть 0
function one(){
$a=1;
two();
echo $a;//должно быть 2
function two(){
$a++;
}
}
В основной программе переменная а не должна измениться. А в функции, и во второй функции она должна быть общей.
Как такое сделать?
...
Рейтинг: 0 / 0
13.03.2014, 08:08
    #38584683
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
D_Pavel,

global

а лучше, раз функции связаны и должны видеть одни и теже переменные, то оформить их как методы объекта. ну тут зависит от задачи
...
Рейтинг: 0 / 0
13.03.2014, 08:21
    #38584687
D_Pavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
если global, то будут видны вне функций в основной программе, а этого не нужно.
...
Рейтинг: 0 / 0
13.03.2014, 08:36
    #38584696
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
D_Pavel,

а это: $a=0;
что не в основной программе происходит чтоли?

тогда ООП грызите.
...
Рейтинг: 0 / 0
13.03.2014, 08:46
    #38584701
D_Pavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
Вот именно что это в основной программе происходит, и функции никак не должны повлиять на это.
...
Рейтинг: 0 / 0
13.03.2014, 08:49
    #38584702
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
D_Pavel,

значит передавайте $a в функцию как параметр, типа one($a);
1 - будет доступна внутри функции
2 - изменения переменной не будут отражаться на переменной ВНЕ функций
...
Рейтинг: 0 / 0
13.03.2014, 08:59
    #38584710
D_Pavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
Если буду передавать параметром, то она не будет изменяться внутри второй функции, а должна.
...
Рейтинг: 0 / 0
13.03.2014, 09:00
    #38584713
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
D_Pavel,

значит надо и во вторую передать параметром.
...
Рейтинг: 0 / 0
13.03.2014, 09:05
    #38584719
D_Pavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
Если буду передавать параметром во вторую, то она не будет изменяться внутри второй функции, а должна.
...
Рейтинг: 0 / 0
13.03.2014, 09:09
    #38584722
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
D_PavelЕсли буду передавать параметром во вторую, то она не будет изменяться внутри второй функции, а должна.
передавай во вторую не по значению а по ссылке function two(&$a) {
...
Рейтинг: 0 / 0
13.03.2014, 09:24
    #38584735
D_Pavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
Блин, хреново... Это если мне нужно 15 переменных изменять в обоих функциях, то передавать все 15 придется.
...
Рейтинг: 0 / 0
13.03.2014, 09:26
    #38584738
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Область видимости переменных в PHP
D_Pavel,

остается ООП
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Область видимости переменных в PHP / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]