1

我的存储库中有功能......当它们是一些数据时,一切都很好......但如果不是:

错误:出现未定义的变量 $followees_ids...

public function foreachFolloweesToFolloweesIds($followees)
{
    foreach ($followees as $followee) {
        $followees_ids[]=$followee['id'];
    } 

    if (empty($followees_ids)) {
        return NULL;
    } else {
        return $followees_ids;
    }
}

它可以像我写的那样完成 if (empty ... bla bla 但它似乎写得不是很好......我会经常使用它,所以一些最佳实践会更好。我怎样才能更好地写它来捍卫变量未定义?

4

2 回答 2

1

放一个

$followees_ids = array();

在 foreach 之前,即使您没有任何结果, $followees_ids 也不是未定义的。

于 2013-03-14T01:48:52.327 回答
1

所以基本上,你的方法返回一个数组(你称之为)followees_ids,

即使我不明白这个方法的用途,我还是建议使用Early return检查 $followees 是否包含元素。

所以,你必须在你的方法的顶部添加,

if (empty($followees)) {
    return array(); // or null
}

还,

  • 您必须首先初始化您的方法返回的数组。
  • 当你早点回来时,你真的不需要 else 语句。
于 2013-03-14T00:34:02.490 回答