2011-09-25 90 views
1

如何內爆2個值,1作爲關鍵字,另一個作爲值。說我有:內爆關鍵值

$string = 'hello_world'; 

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

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

我怎麼能是發生內爆所以它成爲這種結構

Array (
    'hello' => 'world' 
) 
+0

手動,沒有這樣的神奇功能 – zerkms

回答

4
$array = array($arg[0] => $arg[1]); 
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; 
} 
+0

那是「明顯的」,我們都有這些時刻哈哈。 – daryl

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

將是最快的方式

4

這裏有一個有趣的方式來做到這一點,而不需要中間ARGS;)

$string = "hello_world"; 
$result = call_user_func_array("array_combine", array_chunk(explode("_", $string), 1));