由两部分组成的问题:调用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'?我可以在一个变量中代替类名吗?
谢谢。
发布于 2011-04-08 06:46:14
第一个问题:$value = $data->data->values->{'Login loaded'}或:
$key = 'Login loaded';
$value = $data->data->values->$key第二个问题:是
如果使用变量变量、{}变量包装器等,几乎可以将任何东西用作变量名(包括对象成员)。
例如:
$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');https://stackoverflow.com/questions/5588516
复制相似问题