在preg_split之后附加多个值

时间:2013-08-30 10:13:55

标签: php

我运行一个循环来插入csv文件中的列.csv文件包含一个值为

的列
India
srilanka
china taiwan
USA UK France
china japan

我使用preg_split函数拆分列,基于空格

进行拆分
preg_split('/\s+/', $countries);

分裂后我得到像这样的输出

Array
(
    [0] => India
)
Array
(
    [0] => srilanka
)
Array
(
    [0] => USA
    [1] => UK
    [2] => France
)

Array
(
    [0] => china
    [1] => japan

)

如果每个数组包含多个值,则它应该附加第二个和第三个数组,其中包含左右括号

我希望最终值为

india
srilanka
USA(UK France)
China(japan)

1 个答案:

答案 0 :(得分:2)

我认为这可以满足您的需求。这将每行作为参数,而不是数组。所以你不必做preg_split:

function split_countries($line) {
    $split = explode(" ", $line);
    $ret = array_shift($split);
    if (count($split)) {
        $ret .= "(" . implode(" ", $split) . ")";
    }
    return $ret;
}

echo split_countries("India") . "\n";
echo split_countries("USA UK France") . "\n";