0

我正在运行一个循环以从 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)
4

1 回答 1

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";
于 2013-08-30T10:33:15.513 回答