Php 如何分解多行字符串?

Php 如何分解多行字符串?,php,explode,Php,Explode,我有一个字符串,每行有不同的值: $matches="value1 value2 value3 value4 value5 "; 我想将整个字符串分解成一个数组,数组由分隔的值组成。我知道如何分解以空格分隔的字符串,比如分解(''.$matches)。但是如何在这种类型的字符串上使用explode函数呢 我试过这个: $matches=explode('\n',$matches); print_r($matches); 但结果是: Array ( [0] => hello he

我有一个字符串,每行有不同的值:

$matches="value1
value2
value3
value4
value5
";
我想将整个字符串分解成一个数组,数组由分隔的值组成。我知道如何分解以空格分隔的字符串,比如
分解(''.$matches)
。但是如何在这种类型的字符串上使用explode函数呢

我试过这个:

$matches=explode('\n',$matches);
print_r($matches);
但结果是:

Array
(
    [0] => hello
hello
hello
hello
hello
hello
hello

)

您需要将
'\n'
更改为
“\n”

发件人:

如果字符串包含在 双引号(“),PHP将解释 特殊情况下的更多转义序列 人物:

\n换行符(ASCII格式的LF或0x0A(10)

阅读

注:与双引号和 herdeoc语法、变量和转义 特殊字符的序列将被删除 当它们出现在 单引号字符串

因此,请使用“\n”而不是“\n”

另外,您可以使用PHP\u EOL constant来代替
\n

在Windows中,“\r\n”可用作行尾,在这种情况下,您可以进行双重替换:

$matches=explode(“\n”,str_replace(“\r”,“\n”,$matches));

您正在使用哪个操作系统?不同的操作系统有不同的新行字符: