致命错误:不能使用classname类型的对象作为数组


Fatal error: Cannot use object of type classname as array

我有一个数组:

 Array
(
[0] => BugHerd_Project Object
    (
        [id:BugHerd_Project:private] => 24323
        [name:BugHerd_Project:private] => bugherd a
        [devurl:BugHerd_Project:private] => http://st.com/a/
        [active:BugHerd_Project:private] => 1
        [created:BugHerd_Project:private] => DateTime Object
            (
                [date] => 2014-05-03 11:15:22
                [timezone_type] => 2
                [timezone] => Z
            )
        [updated:BugHerd_Project:private] => DateTime Object
            (
                [date] => 2014-05-05 06:55:52
                [timezone_type] => 2
                [timezone] => Z
            )
    )
)

1。我访问这个数组的代码是:

  • 在这个代码中我只是从api获取数据。它的简单http认证代码
  • 我使用php包装这里是链接:https://github.com/spekkionu/bugherd.
  • 从他们提到的api文档:curl -u api_key:x https://www.bugherd.com/api_v2/projects/1.json

     $api = new BugHerd_Api($email,$password);
    $projects = $api->listProjects();
    $i=0;
    on  doing print_r($projects[$i]['id:BugHerd_Project:private']);
    

你试图访问一个类的id属性,属性是私有的,所以你不能直接访问它($projects[$i]->id不工作)

根据BugHerd_Project类有一个getter来访问这个属性getId(),试试$projects[$i]->getId()