2015-09-11 28 views
-1

我有一些由ocd引起的不好的編程習慣,但是在編程時不要討論我的強迫症(儘管這篇文章強化了它,omg)。將數組轉換爲數組在php中的成本

我有這兩段代碼(執行時間2.1934509277344E-5):

function get_paths($string, $array) { 

     $result = array(); 

     foreach($array as $i) 
      if (stripos($i, $string) !== false) 
       $result[] = $i; 

     return empty($result) ? false : $result; 

    } 

return語句看起來倒,與陰性結果來第一次(我的形式主義人會發瘋)。我知道,我知道,我可以添加一個否定,但看起來最糟糕。爲了避免這種情況,我想出了以下解決方案(時間執行2.288818359375E-5):

function get_paths($string, $array) { 

     $result = null; 

     foreach($array as $i) 
      if (stripos($i, $string) !== false) 
       (array)$result[] = $i; 

     return isset($result) ? $result : false; 

    } 

這段代碼涉及到投(array)$result[] = $i;。重點是:每次將數組轉換爲數組多麼愚蠢? 有人有一些深入的信息關於轉換爲相同的類型在PHP?

+0

它是在你基本上只是說:「這蘋果是蘋果」一遍又一遍又一遍的感覺啞。 –

+0

但它是一種重言式(在處理方面)? – lolol

+0

這是無用的繁忙工作。將其定義爲開始的數組,然後統計循環完成後有多少個元素。在這種情況下,isset()是毫無意義的。 –

回答

0

如果它的事項都是因爲你:

function get_paths($string, $array) { 

    $result = array(); 

    foreach($array as $i) 
     if (stripos($i, $string) !== false) 
      $result[] = $i; 

    return count($result) > 0 ? $result : false; 

} 
+0

不是我問:) – lolol