2013-01-13 60 views
0

任何想法为什么会发生这种情况?PHP数组元素直接访问时返回null

代码:

<?php 
print_r($this->$property); 
var_dump($this->$property[0]); 
?> 

输出:

Array 
(
    [0] => WP_Post Object 
     (
      [ID] => 34901 
      [post_author] => 1 
      [post_date] => 2013-01-04 21:04:34 
      [post_date_gmt] => 2013-01-05 02:04:34 
      [post_content] => 
      [post_title] => Castro Theater 
      [post_excerpt] => 
      [post_status] => publish 
      [comment_status] => open 
      [ping_status] => open 
      [post_password] => 
      [post_name] => castro-theater 
      [to_ping] => 
      [pinged] => 
      [post_modified] => 2013-01-04 21:04:34 
      [post_modified_gmt] => 2013-01-05 02:04:34 
      [post_content_filtered] => 
      [post_parent] => 0 
      [guid] => http://demo.gala.local/2012/venues/castro-theater/ 
      [menu_order] => 0 
      [post_type] => venue 
      [post_mime_type] => 
      [comment_count] => 0 
      [filter] => raw 
      [p2p_id] => 34444 
      [p2p_from] => 34891 
      [p2p_to] => 34901 
      [p2p_type] => scheduleitem_to_venue 
     ) 

) 
NULL 
+0

如果您正在访问一个类的属性,你shoudl'$此 - >属性[0]' – Starx

+0

请不要用犯规的话,以避免被标记。 – Starx

+0

@Starx \t $属性是包含属性,而不是物业本身的名称的变量。 – jessica

回答

1

你的代码最终处理加工$property[0]第一,然后尝试你的对象的属性与该结果寄存。如果您首先获得$this->$property,那么您可以使用普通数组表示法获取事物,并且事情将按照您的期望工作。

$data = $this->$property; 
var_dump($data[0]); 
+0

啊,我明白了。谢谢!我已经通过使用'$ this - > {$ property} [0]'修复了它 – jessica