双爆炸弦

Ben*_*Ben -1 php arrays explode

给定是一个包含两个不同分隔符的字符串:

$string = '123|foo,456|bar,789|bla';

结果应该是一个数组:

array
(
    [123] => 'foo'
    [456] => 'bar'
    [789] => 'bla'
)
Run Code Online (Sandbox Code Playgroud)

要么:

array
(
    [0] => array
           (
               [id] => 123
               [value] => 'foo'
           )
    [1] => array
           (
               [id] => 456
               [value] => 'bar'
           )
    [2] => array
           (
               [id] => 789
               [value] => 'bla'
           )
)
Run Code Online (Sandbox Code Playgroud)

什么是最明智的方法来爆炸字符串并将其带入数组?

Sam*_*amT 6

你可以尝试这样的事情:

$string = '123|foo,456|bar,789|bla';

$output = array();
foreach(explode(',', $string) as $pair) {
    list($id, $val) = explode('|', $pair);
    $output[(int) $id] = $val;
}
Run Code Online (Sandbox Code Playgroud)