从Google Calendar API中提取位置

时间:2010-12-16 18:45:49

标签: php zend-framework google-calendar-api

我正在尝试使用带有php的Zend GData Framework将where属性从事件中拉出来。有没有人知道获取该属性的正确格式?

$eventFeed = $gdataCal->getCalendarEventFeed($query);
foreach ($eventFeed as $event) {
 $start = $event->when[0]->startTime;
 $end = $event->when[0]->endTime;
 $where = $event->where[0]->valueString;  //--this guy is the problem
 $title = $event->title->text;
 $id = $event->id;
 $content = $event->content->text;
}

2 个答案:

答案 0 :(得分:0)

您已拥有正确的格式:

$where = $event->where[0]->valueString;

这对我来说很有效。

答案 1 :(得分:0)

如上所述,只要是数组中的第一项,就可以使用where参数的正确的语法。在你的代码中,你并没有真正展示你在使用代码做什么,我的意思是你循环遍历事件,设置变量,然后移动到下一个项目,然后将变量写入下一个事件,而不做任何事情上一个事件(对不起,如果您为此示例缩减了代码)。

因此,您可以使用print_r将数组打印到屏幕上并查看其中的内容,但如果您不习惯查看zend数组,则不会非常清楚:

另一件事是循环遍历where数组并打印你想要看到的位,看看该事件的项目是否有多个:

$eventFeed = $gdataCal->getCalendarEventFeed($query);
foreach ($eventFeed as $event) 
{
    $start = $event->when[0]->startTime;
    $end = $event->when[0]->endTime;
    // test 1: see whats in the array:
    print_r($event->where[0]);
    // test 2: loop through the where array and see what you get:
    foreach ($event->where as $val)
    {
        $where = $val->valueString;
        echo $where.'<br />';
    }
    $title = $event->title->text;
    $id = $event->id;
    $content = $event->content->text;
}