Portál AbcLinuxu, 12. května 2025 06:55
<?php class Menu { function __construct() { $a = '
$a
je lokální, po ukončení konstruktoru je zapomenuta.
__toString()
.<?php class Menu { function __construct() { $a = '
<?php class Menu { private $a; function __construct() { $this->a = '<ul>'; $this->a.= '<li>AAA</li>'; $this->a.= '<li>BBB</li>'; $this->a.= '<li>CCC</li>'; $this->a.= '</ul>'; } function __toString($a) { return $this->$a; } }Takový objekt sice není ideální, ale už je funkční.
function __toString($a) { return $this->$a; } napsáno takto? function __toString() { return $this->a; }Děkuji
class Menu { private $menu; function __construct() { $this->menu = 'Nějaký text'; } function __toString() { return $this->menu; } } $txt = new Menu(); var_dump($txt); // object(Menu)#9 (1) { ["menu":"Menu":private]=> string(11) "Nějaký text" }Tak co je ještě špatně? Díky
echo $txt; var_dump($txt.'');apod.
__toString()
.
Ano, echo $array[$txt.'']
je to správné řešení, které sice bude fungovat, ale po programátorské stránce je špatně. Netuším, čeho chceš dosáhnout, ale vidím, že na to jdeš blbě, že by sis měl pořídit nějakou učebnici programování a že tě už začínám mít dost.
$array[(string)$txt];
ako spajat retazec s prazdnym retazcom.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.