0

您好,我一直在尝试获取镜像 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();
}
}

在这两种情况下,我都可以让 $deleted 回显,但是一旦我尝试将 $deleted 传递给下方的 if 语句,它就不需要了。

4

1 回答 1

0

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

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

于 2013-08-08T17:15:29.723 回答