无法获取printTimeLineItemMetadata来传递函数之外的变量

时间:2013-07-11 05:28:16

标签: php google-mirror-api google-glass

您好我一直在尝试让镜像api检查时间轴项目是否已被删除,如果是,则创建一个新项目,如果不更新旧项目。我在php编程,我知道这似乎应该是相当直接但由于某种原因我被卡住了!请帮忙! 现在我有这样的设置,它似乎不想在函数外传递变量,我也不能从函数内部插入。

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();
}
}

我可以在两种情况下都获得$ delete以回显但是一旦我尝试将$ deleted传递给下面的if语句,它将不会采取。

1 个答案:

答案 0 :(得分:0)

问题提问者在对该问题的评论中解释说,这与范围界定有关。 PHP中的函数有自己的作用域,因此默认情况下在函数中定义的变量不存在于该函数之外。

对此进行快速修复是为了使变量global,但必须使用许多全局变量通常是糟糕的软件设计。如果您发现自己处于这种情况,请尝试重新考虑您的代码,使其更加模块化。