Autor Zpráva
dsa
Profil *
Prečo mi to nefunguje?
<?php
class trieda {
    protected $a=array();
    
    function __construct()
    {
        $this->$a[0]=1;
    }
}
$obj= new trieda();
DJ Miky
Profil
Za -> už dolar nebude:
$this->a[0] = 1;
Majkl578
Profil
dsa:
Prečo mi to nefunguje?
Protože proměnná $a není definována a k vlastnosti beze jména přistoupit nelze.

DJ Miky:
Za -> už dolar nebude:
Ale kdeže, může být. Stačí, aby proměnná $a byla definována ve scope dané metody a fungovalo by to:
function __construct()
{
    $a = 'b';
    $this->$a[0]=1;
    var_dump($this->b); // int(1)
}

Nicméně v daném kontextu tam dolar není zamýšlený.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0