взорвать ключ со значением - PullRequest
       1

взорвать ключ со значением

1 голос
/ 25 сентября 2011

Как мне ввести 2 значения, 1 в качестве ключа и другое в качестве значения. Скажи, что у меня есть:

$string = 'hello_world';

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

У меня сейчас есть $arg[0] и $arg[1] (как вы знаете)

Как я могу взорвать это, чтобы оно стало этой структурой

Array (
    'hello' => 'world'
)

Ответы [ 4 ]

4 голосов
/ 25 сентября 2011

Вот интересный способ сделать это без использования промежуточных аргументов;)

$string = "hello_world";
$result = call_user_func_array( "array_combine", array_chunk( explode("_", $string ), 1 ));
4 голосов
/ 25 сентября 2011
$array = array($arg[0] => $arg[1]);
3 голосов
/ 25 сентября 2011

Я не уверен, если вы ищете что-то такое очевидное:

$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;
}
2 голосов
/ 25 сентября 2011
$string = 'hello_world';
$arg = explode('_', $string);
$array = array($arg[0] => $arg[1]);

будет самый быстрый способ

...