2013-03-14 61 views
1

我有功能我的仓库......当他们的一些数据一切正常马丽娟...但是当没有:symfony的未定义的变量传递给枝杈

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

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

它可以做正如我写的,如果(空... bla bla,但它似乎写得不是很好......我会用它很多,所以一些最佳实践将greate。我怎么能写得更好,以捍卫变量从undefined?

回答

1

所以基本上,你的方法返回一个数组(你叫做)followees_ids,

即使我不明白这个方法用于什么,我会建议使用Early return来检查$ followees是否包含元素。

所以,你已经加入你的方法的顶部,

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

此外,

  • 您对第一初始化数组的方法返回。
  • 当你早点回来时,你并不需要其他语句。
+0

它用于创建一个ID数组。并hm intresting文章thx。我用你的方式和早日返回。 – EnchanterIO 2013-03-14 00:39:31

+0

不客气,你不需要在最后放置if/else语句。 – 2013-03-14 00:46:52

+0

是的,我知道thx:P我只是在寻找一些比我使用更好的方法,你似乎很好。 – EnchanterIO 2013-03-14 00:48:12

1

只要把

$followees_ids = array(); 

在foreach之前,所以$ followees_ids不是不确定的,即使你没有任何结果。

+1

+1。在添加元素之前初始化变量*是正确的方法。 – 2013-03-14 07:21:51