2017-08-04 100 views
2

http://php.net/manual/en/control-structures.foreach.php「array_expression」在php中意味着什麼?

試圖更好地瞭解foreach循環。在上面的文檔中,它聲明「第一個形式循環由array_expression給出的數組。

世界上有什麼是array_expression?

+0

'array_expression'是_possible variable_名( 'foreach(array_expression爲$ value)'),它也可以是一個實際的數組 –

+0

'array_expression'只是一個PHP數組或對象 – Matthew

回答

2

一種陣列運算是導致在陣列中任何expression。因此,這些都是評價時不陣列本身,而是導致數組表達式:

foreach(range(1, 5) as $val){} 

或者:

foreach($array = range(1, 5) as $val){} 

或者:

class Test { 
    public static function do_it() { 
     return range(1, 5); 
    } 
} 

foreach(Test::do_it() as $val){} 
1

php manual的說明頁面

表達式是PHP最重要的基石。在PHP中,你寫的幾乎任何東西都是一個表達式。定義表達式的最簡單但最準確的方法是「任何有價值的東西」。

所以,這意味着array_expression只是虛擬文本,讓你知道,在foreach需要陣列功能。

在這種情況下,

$arr = array(1, 2, 3); 

foreach ($arr as $value) { 
    var_dump($value); 
} 

將導致:

int(1) int(2) int(3) 
+0

我也會舉例說明'foreach(array(1,2,3)as&$ value){'(或類似的樣式)來顯示在循環中使用數組的區別 –

+0

但是數組如何成爲一個表達式? –

+0

當我開始學習PHP時,我掙扎於同樣的事情上。這是一個完全專注於表達意味着什麼的頁面[表達式是最重要的構建塊......](http://php.net/manual/en/language.expressions.php) – samayo