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]   

> Описание: подкорректируйте код
ole-martyno
Отправлено: 15 Февраля, 2011 - 17:16:08
Post Id


Новичок


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


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




Привет всем, я сегодня начал изучать ООП, пытаюсь написать простенький код. Есть заранее известный массив $pl. Хочу его засунуть в класс и уже с ним там проводить всякие махинации. Код ниже не работает. В чем я не прав?

PHP:
скопировать код в буфер обмена
  1. class player
  2. {
  3. var $arr;
  4. function show_skill($name)
  5.   {
  6.   $s=floor($arr[$name]);
  7.   }
  8. }
  9.  $p= new player();
  10.  $p->arr = $pl;
  11.  echo $p->show_skill('att');
  12.  
 
 Top
OrmaJever Модератор
Отправлено: 15 Февраля, 2011 - 17:24:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




функция должна иметь return (это значение которое она вернёт).
PHP:
скопировать код в буфер обмена
  1. class player
  2. {
  3. var $arr;
  4. function show_skill($name)
  5.   {
  6.   $s=floor($arr[$name]);
  7.   return $s;
  8.   }
  9. }

(Добавление)
А и ещё не заметил. Обращение к свойствам и методам внутри класа осуществлятся со словом $this
PHP:
скопировать код в буфер обмена
  1. class player
  2. {
  3. var $arr;
  4. function show_skill($name)
  5.   {
  6.   $s=floor($this->arr[$name]);
  7.   return $s;
  8.   }
  9. }

(Отредактировано автором: 15 Февраля, 2011 - 17:27:17)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
ole-martyno
Отправлено: 15 Февраля, 2011 - 17:33:06
Post Id


Новичок


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


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




спасибо!
 
 Top
JustUserR
Отправлено: 16 Февраля, 2011 - 13:18:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




ole-martyno пишет:
Код ниже не работает. В чем я не прав?
Использование предполагаемого варианта PHP-приложения является устаревшим по причине осуществление определения класса на основе формата совместимого с PHP категории четвертой версий - в то время как при использовании современных PHP-интерпретаторов возможно обеспечения указания уровня инкапсуляции для хранимых информационных полей


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB