2015-08-08 55 views
2

我在static函數中有一個foreach循環。但由於某種原因,它只能做一個循環。我究竟做錯了什麼?PHP foreach在靜態函數中

static function printall(){ 
    foreach (self::$products as $product){ 
     return print_r($product); 
    } 
} 

這給了我:

Array 
(
    [0] => 700152 
    [1] => 21.0000 
    [2] => 5.2000 
    [3] => 24.7900 
) 

但是,當我print_r的自我:: $產品我得到這個:

Array 
(
    [0] => Array 
     (
      [0] => 700152 
      [1] => 21.0000 
      [2] => 5.2000 
      [3] => 24.7900 
     ) 

    [1] => Array 
     (
      [0] => 700000 
      [1] => 21.0000 
      [2] => 3.4700 
      [3] => 16.5200 
     ) 

    [2] => Array 
     (
      [0] => 705300 
      [1] => 21.0000 
      [2] => 1.3900 
      [3] => 6.6100 
     )  
) 
+4

** return **停止方法。 – Rizier123

+0

愚蠢愚蠢,謝謝!知道它會是愚蠢的 – Nautilus

回答

4

return聲明返回值終止功能,所以循環只運行一次迭代。只要放下它,你應該沒問題:

static function printall(){ 
    foreach (self::$products as $product){ 
     print_r($product); 
    } 
}