2015-07-21 65 views
2

比方說,我有一個函數返回下面的數組:我可以用`list`賦值跳過數組元素嗎?

function fruits(){ 
    $arr = array('apple','orange','banana','pear'); 
    return $arr; 
} 

而且我想分配第三和第四數組元素的變量,而無需使用臨時變量:

list(NULL,NULL,$banana,$pear) = fruits(); 

這代碼將不起作用,但它會顯示我想使用list構造的方式的想法。

我想使用list的原因如下:

  1. 我使用PHP 5.3因此施工喜歡fruits()[2]將無法​​正常工作。

  2. 我的相當可讀的代碼

  3. 我想跳過臨時變量,以減少代碼大小,並提高其可讀性一行內做更多的受讓人。

那麼有沒有可能使用list並跳過一些數組元素?

+0

*的相當可讀的代碼行內*我認爲是不正確的.. 。list是一個僞函數,順便說一句,你的函數是fruits()並不會使sence – donald123

回答

3

PHP 5.5.14

function fruits(){ 
    $arr = array('apple','orange','banana','pear'); 
    return $arr; 
} 

list(,,$banana,$pear) = fruits(); 

echo $banana; // banana 
+0

和PHP 5.3.9兼容。 – PHPhil

1

是的,你可以跳過元素:只要省略變量名:

list(,,$banana,$pear) = fruits(); 
相關問題