有没有办法从一行中的函数返回一个数组键?

时间:2011-12-18 03:02:43

标签: php

例如:

$str = 'one-two-three';

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

有没有办法让$ 1等于“1”而不做$one = $one[0]

3 个答案:

答案 0 :(得分:3)

当然,请使用list()

list($one,$two,$three) = explode('-', $str);
echo $one;
// one
用于多重赋值的

list()不如直接从函数调用中取消引用数组元素,或者像Python的多重赋值一样方便,但它可以完成这项工作。

在PHP 5.4中,我们将能够直接从函数调用中取消引用,如:

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

答案 1 :(得分:2)

你也可以使用正确的功能:

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

使用第三个参数查看strtok()strstr()

答案 2 :(得分:2)

试试这个

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

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

用于更大的数组...