2013-07-11 1 views
0

Здравствуйте, я пытаюсь получить зеркало api, чтобы проверить, был ли элемент временной шкалы удален, и если так создать новый, если не обновить старый. Я программирую на php, и я знаю, что это похоже на то, что он должен быть довольно прямым, но по какой-то причине я застрял! Пожалуйста помоги! Прямо сейчас у меня есть настройка как так, и, похоже, она не хочет передавать переменную вне функции, и я тоже не могу сделать вставку изнутри функции.Не удается получить printTimeLineItemMetadata для передачи переменных вне функции

function printTimelineItemMetadata($service, $itemId) { 
try { 
$timelineItem = $service->timeline->get($itemId); 

print 'Timeline item ID: ' . $timelineItem->getId(); 
if ($timelineItem->getIsDeleted()) { 
    $deleted = "deleted"; 
    echo $deleted; 

} 
else { $deleted = "nope"; 
echo $deleted;} 
} catch (Exception $e) { 
print 'An error occurred: ' . $e->getMessage(); 
} 
} 

я могу получить $ удален эхо в обоих случаях, но когда я пытаюсь передать $ удалены в дальнейшем, если заявление вниз, это не займет.

+0

Я не уверен, что понимаю, что вы наблюдаете. Можете ли вы отредактировать вопрос и добавить пример вывода, который выводится на экран при запуске? – mimming

+0

Просто проигнорируйте меня, я идиот, и вам нужно сделать $ deleted глобальной переменной – user1590569

ответ

0

Как объяснил вопрос в комментарии к вопросу, это связано с определением области обзора. Функции в PHP имеют свою собственную область, поэтому переменные, которые были определены в функции по умолчанию, не существуют вне этой функции.

Быстрое исправление заключается в том, чтобы сделать переменную global, но использование многих глобальных переменных обычно является плохим дизайном программного обеспечения. Если вы окажетесь в этой ситуации, попробуйте переосмыслить свой код, чтобы сделать его более модульным.

Смежные вопросы