1

如何内爆 2 个值,1 个作为键,另一个作为值。说我有:

$string = 'hello_world';

$arg = explode('_', $string);

我现在有$arg[0]$arg[1](如你所知)

我怎么能内爆它,所以它变成了这个结构

Array (
    'hello' => 'world'
)
4

4 回答 4

4
$array = array($arg[0] => $arg[1]);
于 2011-09-25T03:01:25.823 回答
4

这是一种不使用中间参数的有趣方法;)

$string = "hello_world";
$result = call_user_func_array( "array_combine", array_chunk( explode("_", $string ), 1 ));
于 2011-09-25T03:11:42.400 回答
3

我不确定您是否正在寻找如此明显的东西:

$arg = explode('_', 'hello_world');
print_r(array($arg[0] => $arg[1]));

我认为它比这更复杂一些。也许字符串包含多个这样的东西。例如:'hello_world,foo_bar,stack_overflow'。在这种情况下,您需要先用逗号分解:

$args = explode(',', 'hello_world,foo_bar,stack_overflow');
$parsed = array();

foreach($args as $arg) {
    list($key, $value) = explode('_', $arg);
    $parsed[$key] = $value;
}
于 2011-09-25T03:01:38.880 回答
2
$string = 'hello_world';
$arg = explode('_', $string);
$array = array($arg[0] => $arg[1]);

将是最快的方法

于 2011-09-25T03:02:11.923 回答