2010-12-16 3 views
0

Я пытаюсь извлечь атрибут where из события с помощью Zend GData Framework с php. Кто-нибудь знает правильный формат для получения этого атрибута?Вытягивание из Google API календаря

$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; 
} 

ответ

0

У вас есть правильный формат уже:

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

Это прекрасно работает для меня.

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; 
} 
Смежные вопросы