首先,我已经看到了以下问题:
- Php-用两个分隔符分解字符串
- 将分隔字符串数组分解为两个数组
- PHP使用2个不同的分隔符进行分解/拆分
还有更多。如果我有这样的输入:
A@B#C
a@b#c
对于每一行,我都有两个分隔符@
和#
,我希望以这种方式将它们分隔为一个数组:
Array
(
[0] => A
[1] => B
[2] => C
)
Array
(
[0] => a
[1] => b
[2] => c
)
我的循环代码是这样的:
foreach (explode(PHP_EOL, $input) as $line) {
$line = explode("@", $line);
$line[1] = explode("#", $line[1]);
}
我知道我所做的是错误的。我得到的输出是:
Array
(
[0] => A
[1] => Array
(
[0] => B
[1] => C
)
)
Array
(
[0] => a
[1] => Array
(
[0] => b
[1] => c
)
)
我没有其他想法,所以,有人能指导我如何在同一数组中拆分字符串吗?ps:我不想使用regex!
我的首选解决方案是使用preg_split
,但既然问题明确禁止使用regex,那么就这样做吧:
$line = explode("#", str_replace("@", "#", $line));
因此,基本上,只需将所有出现的分隔符1替换为分隔符2,然后在分隔符2上拆分即可。