Как получить доступ к переменной с точкой

Вот часть моего var_dump($GLOBALS['pagination']);:

object(VmPagination)[376]
  ...
  public 'pages.total' => float 4
  public 'pages.current' => float 1
  public 'pages.start' => int 1
  public 'pages.stop' => float 4
  ...

Есть ли идеи, как я могу получить доступ pages.total и другие три переменные с точкой? Я старался $GLOBALS['pagination']->pages.current, но это не работает.

1 ответ

Решение

Использовать {} обозначения:

$foo->{'bar.baz'} = 'qux';

например:

php > $x = new StdClass();
php > $x->{'foo.bar'} = 'baz';
php > var_dump($x);
object(stdClass)#1 (1) {
  ["foo.bar"]=>
  string(3) "baz"
}
php > echo $x->foo.bar;
PHP Notice:  Undefined property: stdClass::$foo in php shell code on line 1
PHP Notice:  Use of undefined constant bar - assumed 'bar' in php shell code on line 1
bar
php > echo $x->{'foo.bar'};
baz
Другие вопросы по тегам