Не пойму почему меняется значение переменной в классе

tp

Guest
Не пойму почему меняется значение переменной в классе

Есть такой код
<?php
class Test
{
var $a;
var $b;
function f1()
{
$this->$b='b';
echo $this->$a;
}
function f2()
{
$this->$a='a';
$this->f1();
}
}

$test = new Test;
$test->f2();
?>

Этот код у меня выдает 'b', почему так происходит?
 

tp

Guest
Originally posted by Макс
надо писать
$this->a и $this->b
вместо
$this->$a и $this->$b
спасибо, запутался, а что тогда такая конструкция делает
$obj->$param? php на нее не ругается
 

Макс

Старожил PHPClub
значит у тебя вывод ошибок отключен:
PHP:
ini_set('display_errors', 'On');
error_reporting(E_ALL);
вставь перед кодом и будет выведена ошибка.

Твой код имел бы смысл, если бы у тебя была переменная $a (не путать с $this->a)
 
Сверху