Mixpanel object php


Mixpanel object php

两部分问题:调用Mixpanel api后,我返回如下内容

stdClass Object ( 
    [legend_size] => 1 
    [data] => stdClass Object ( 
        [series] => Array ( 
            [0] => 2011-04-06 
            [1] => 2011-04-07 ) 
        [values] => stdClass Object ( 
            [Login loaded] => stdClass Object ( 
                [2011-04-06] => 1 
                [2011-04-07] => 1 
            ) 
        ) 
    ) 
)

假设我将其存储在$data

如果我这样做

$value = $data->data->values->Login loaded

我得到一个错误,因为在登录和加载之间的空间。我如何逃离这个空间?

第二个问题

一旦我弄明白了上面的问题,我可以做一些像

$value = $data->data->values->Login->$date

,

$date = '2011-05-06'

?我可以用变量代替类名吗?

谢谢。

第一个问题:$value = $data->data->values->{'Login loaded'} or:

$key = 'Login loaded';
$value = $data->data->values->$key

第二个问题:Yes

如果你使用变量变量、{}变量包装器等,你几乎可以使用任何东西作为变量名(包括对象成员)。

例如:

$this->$foo
${'a weird variable name'}
$object->$something->{'very weird'}
$foo = 'bar';  $$foo = 3; // $bar = 3 now.

编辑:当我们在它,这个是永远无效的:

$foo = new Foo;
$foo::bar(); // syntax error

不能访问存储在变量中的类实例的静态属性。但是,您可以这样做:

$foo = new Foo;
call_user_func(get_class($foo) . '::bar');