【发布时间】:2014-11-04 23:48:09
【问题描述】:
首先,我已经看到了以下问题:
- Php - explode a string with two delimiters
- explode an array of delimited strings into two arrays
- PHP explode/split with 2 different delimiters
还有更多。如果我有这样的输入:
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!
【问题讨论】:
-
输入的是1个字符串还是2个?
-
@Rizier123 我不明白。 1 或 2 是什么意思?
-
是这个:
$input1 = "A@B#C"; $input2 = "a@b#c";还是这个:$input = "A@B#C a@b#c"; -
@Rizier123 假设为单行。现在检查完整的代码。它在一个循环中!
:) -
哇。刚刚意识到我有多累,我需要睡觉。我的意思是说“你为什么不想使用正则表达式” :) Sheesh。准备睡觉了。