У меня есть вложенное PHP класс, который я могу получить доступ с помощьюКак использовать динамическую переменную имя вложенного класса PHP
public function getbookname($bookno){
$namex='No book';
switch($bookno){
case 1:
$namex=$this->book1->bookname;
break;
case 2:
$namex=$this->book2->bookname;
break;
case 3:
$namex=$this->book3->bookname;
break;
}
return $namex;
}
Класс может иметь до 50 или около книг, поэтому мне нужно, чтобы создать " bookX "динамически. Я искал и нашел how to create variable names dynamically.
Так что я сделал это
public function getbookname($bookno){
return ${'$this->book' . $bookno. '->bookname'};
}
Но это не работает, я получаю следующее сообщение об ошибке:
Notice: Undefined variable: $this->book1->bookname in
C:\wamp\www\htdocs\lib4\includes\oop_book.php on line 32
Как вы можете видеть $this->book1->bookname
является правильным вызов метода.
Я также попытался
public function getbookname($bookno){
$methodreturn = ${'$this->book' . $bookno. '->bookname'};
return $methodreturn;
}
С таким же результатом. Пожалуйста помоги.
попробовать '$ BookName = 'книга'. $ Bookno; return $ this -> $ bookname-> bookname; ' – Rufinus