2011-12-18 90 views
1

例如:有沒有辦法從一行中的函數返回一個數組鍵?

$str = 'one-two-three'; 

$one = explode('-', $str); 

有沒有一種方法,使$一個等於「一個」沒有做$one = $one[0]

+0

可能重複:$ FOO =爆炸(」 「」 喇嘛BLE BLI 「); echo $ foo \ [0 \]](http://stackoverflow.com/questions/5491885/shortcut-for-foo-explode-bla-ble-bli-echo-foo0) – mario 2011-12-18 03:08:35

回答

3

當然,使用list()

list($one,$two,$three) = explode('-', $str); 
echo $one; 
// one 

list()多分配是不是很不錯的能夠解引用數組元素直接從一個函數調用,或方便,Python的多任務,但它完成了這項工作。

在PHP 5.4中,我們就可以直接取消引用從函數調用,如:

// Coming in 5.4... 
explode("-", $str)[0] 
+0

+1對於數組解引用!不會說謊...我很興奮這個 – rdlowrey 2011-12-18 03:41:28

+0

愚蠢的我,我忘了列表()。 :) – CrazeD 2011-12-18 04:15:04

2

您還可以使用正確的函數作業:

$one = strtok($str, "-"); 

strtok()strstr()第三個參數。

+0

我只是用它作爲一個(也許是壞的)快速示例。不過謝謝。 – CrazeD 2011-12-18 04:15:36

2

嘗試的[快捷這個

list($one, $two, $three) = explode('-', $str); 

foreach($one as $number) { 
    $$number = $number; 
} 

放大陣列...

相關問題