Передача переменной между функциями

#1 2 мая 2016 в 08:37
Здравствуйте! подскажите, как в 2.5.1 передать переменную из функции А в функцию Б:
  1.  
  2. public function А() {
  3. $переменнаяС = получаемое значение;
  4. return ...;
  5. }
  6.  
  7. public function Б() {
  8. $переменнаяС = значение, полученное в функции А ;
  9. return ...;
  10. }
  11.  
Спасибо.
#2 2 мая 2016 в 12:02
Почитайте тему об областях видимости переменных.
Вам, по видимому, придется сделать обе переменные глобальными
Внутри каждой функции пишите
  1. global $переменнаяС;
и функции будут обращаться к одной переменной.
Аналогично, если хотите, чтобы функции обменивались результатами счета, создайте две глобальных переменные в каждой функции
  1. global $переменнаяС, $переменная D;
#3 2 мая 2016 в 12:12
  1.  
  2. private $переменнаяС;
  3. ....................
  4. public function А() {
  5. $this->переменнаяС = получаемое значение;
  6. return ...;
  7. }
  8.  
  9. public function Б() {
  10. $this->переменнаяС = значение, полученное в функции А ;
  11. return ...;
  12. }
  13.  
ну а если следовать коду буквально, то
  1.  
  2. public function Б() {
  3. $переменнаяС = $this->А() ;
  4. return ...;
  5. }
  6.  
#4 2 мая 2016 в 14:34

Почитайте тему об областях видимости переменных.

Странник
Да глобальные переменные пробовал, но не хочется к ним пребегать.

ну а если следовать коду буквально, то

Pasha
Да если переменная конечная, а в данном случае одна из промежуточных.
#5 3 мая 2016 в 06:46
Pasha, можно по подробнее?
Допустим внутри класса я объявил private $С;
внутри public function А() присвоил переменной значение "1" — $this->$С =1;
как получить внутри public function Б() $С =1;? ($this->$С =1; — по сути новое присвоение значения переменной, а не получение значения из предыдущей функции).
Спасибо.
#6 4 мая 2016 в 19:44
UP!
Уточню. Возможно не достаточно точно изъясняюсь.
В функции А одним из промежуточных значений (в зависимости от условий присваиваем переменной С значение 1 или 0 ) — конечный результат выполнения функции $value.
В функции Б результат выполнения функции зависит от значения $С, принятого в функции А.
Спасибо.
#7 4 мая 2016 в 20:14
  1.  
  2. class qqq {
  3.  
  4. private $ccc;
  5.  
  6. public function aaa(){
  7. $this->ccc = $что_то_там ? 1 : 0;
  8. return $value;
  9. }
  10.  
  11. public function bbb(){
  12. return $this->ccc ? 'да-да-да' : 'нет-нет-нет';
  13. }
  14.  
  15. }
  16.  
#8 8 мая 2016 в 20:59
Чтобы не "плодить темы" еще один маленький вопрос :
как сбросить значение поля при условии?
  1. if($value == 1 ) { сбросить значение, вывести текст ошибки ;}
Спасибо.
#9 14 мая 2016 в 15:51
UP!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.