如何分解多行字符串?
我有一个每行都有不同值的字符串:
$matches="value1
value2
value3
value4
value5
";
我想将整个字符串分解为一个由分隔值组成的数组。我知道如何分解空格分隔的字符串,例如 explode(' ', $matches)
。但是我如何在这种类型的字符串上使用爆炸函数呢?
我尝试了这个:
$matches=explode('\n',$matches);
print_r($matches);
但结果是这样的:
Array
(
[0] => hello
hello
hello
hello
hello
hello
hello
)
I have a string that has different values on each line:
$matches="value1
value2
value3
value4
value5
";
I want to explode the whole string in to an array consisting of the values separeted. I know how to explode a space separated string, like explode(' ', $matches)
. But how do i use the explode function on this type of string?
I tried this:
$matches=explode('\n',$matches);
print_r($matches);
But the result is like:
Array
(
[0] => hello
hello
hello
hello
hello
hello
hello
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要将
'\n'
更改为"\n"
。来自 PHP.net:
You need to change
'\n'
to"\n"
.From PHP.net:
阅读手册
因此,请使用“\n”而不是“\n”。
此外,您可以使用 PHP_EOL 常量来代替
\n
。在Windows中“\r\n”可以用作行尾,对于这种情况你可以进行双重替换:
$matches=explode("\n", str_replace("\r","\n",$matches));
Read manual
So use "\n" instead of '\n'
Also, instead of
\n
you can use PHP_EOL constant.In the Windows "\r\n" can be used as end of line, for this case you can make double replacement:
$matches=explode("\n", str_replace("\r","\n",$matches));