2011-12-18 93 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; 
} 

放大阵列...

相关问题