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
Форумы портала PHP.SU :: Версия для печати :: Подача массива в класс
Форумы портала PHP.SU » PHP » Программирование на PHP » Подача массива в класс

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

1. ole-martyno - 15 Февраля, 2011 - 17:16:08 - перейти к сообщению
Привет всем, я сегодня начал изучать ООП, пытаюсь написать простенький код. Есть заранее известный массив $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.  
2. OrmaJever - 15 Февраля, 2011 - 17:24:57 - перейти к сообщению
функция должна иметь 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. }
3. ole-martyno - 15 Февраля, 2011 - 17:33:06 - перейти к сообщению
спасибо!
4. JustUserR - 16 Февраля, 2011 - 13:18:43 - перейти к сообщению
ole-martyno пишет:
Код ниже не работает. В чем я не прав?
Использование предполагаемого варианта PHP-приложения является устаревшим по причине осуществление определения класса на основе формата совместимого с PHP категории четвертой версий - в то время как при использовании современных PHP-интерпретаторов возможно обеспечения указания уровня инкапсуляции для хранимых информационных полей

 

Powered by ExBB FM 1.0 RC1