静态函数中的php foreach

静态函数中的php foreach,php,loops,foreach,Php,Loops,Foreach,在静态函数中有一个foreach循环。但出于某种原因,它只做一个循环。我做错了什么 static function printall(){ foreach (self::$products as $product){ return print_r($product); } } 这给了我: Array ( [0] => 700152 [1] => 21.0000 [2] => 5.2000 [3] =>

在静态函数中有一个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
)
但当我打印自我:$products时,我得到以下信息:

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
        )    
)
return语句通过返回一个值来终止函数,因此循环只运行一次迭代。放下它,你会没事的:

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

返回停止方法。愚蠢,谢谢!我知道这会是一件愚蠢的事