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

  • Автор темы Автор темы tp
  • Дата начала Дата начала

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', почему так происходит?
 
Originally posted by Макс
надо писать
$this->a и $this->b
вместо
$this->$a и $this->$b
спасибо, запутался, а что тогда такая конструкция делает
$obj->$param? php на нее не ругается
 
значит у тебя вывод ошибок отключен:
PHP:
ini_set('display_errors', 'On');
error_reporting(E_ALL);
вставь перед кодом и будет выведена ошибка.

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