2013-03-14 57 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