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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Может ли функция возвращать две переменные

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
imediasun
Отправлено: 08 Августа, 2014 - 22:16:00
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


PHP:
скопировать код в буфер обмена
  1.  
  2. class A{
  3.  
  4. public function Get_info($country,$aggency)
  5. {
  6. //как сдесь получить две переменные из функции info?
  7. }
  8. }
  9. class B extends A{
  10.  
  11. public function info()
  12. {
  13. $first=0;
  14. $second=1;
  15. }
  16. }
  17.  
 
 Top
Fotlax
Отправлено: 08 Августа, 2014 - 22:31:23
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




Либо возвращать массив:
PHP:
скопировать код в буфер обмена
  1.  return ['first'=>0,'second'=>1];


Либо можно так:

PHP:
скопировать код в буфер обмена
  1. class A{
  2. public $first;
  3. public $second;
  4.  
  5. public function Get_info($country,$aggency)
  6. {
  7. // сначал запуск функции info(), чтобы она присвоила значения двум переменным
  8.   $this->info();
  9.  
  10.   echo $this->first;
  11.   echo $this->second;
  12. }
  13. }
  14. class B extends A{
  15.  
  16. public function info()
  17. {
  18. $this->first=0;
  19. $this->second=1;
  20. }
  21. }
 
 Top
imediasun
Отправлено: 08 Августа, 2014 - 22:35:47
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


спасибо, уверен пригодится расписанный вариант интереснее и правильнее, думаю
 
 Top
Object
Отправлено: 08 Августа, 2014 - 22:55:29
Post Id


Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Авг. 2010  


Помог: 3 раз(а)




Так вопрос был как вернуть две переменные, а в примере, во втором варианте используются свойства. Думаю первый вариант - массив. И то если info() будет вызвана в Get_info(), а то в Вашем куске кода Get_info() вообще ничего не знает про info().
 
 Top
imediasun
Отправлено: 09 Августа, 2014 - 12:17:13
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


Так это же полиморфизм Хорошо
(Добавление)
А как из стороннего контроллера обратится к этим public в Get_info?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB