PHP. У меня есть строка, которая имеет разные значения в каждой строке:
$matches="value1 value2 value3 value4 value5 ";
Я хочу взорвать всю строку в массив, состоящий из значений, разделенных. Я знаю, как взорвать строку, разделенную пробелами, например, explode(' ', $matches)
. Но как я могу использовать функцию explode для этого типа строки?
Я попробовал это:
$matches=explode('\n',$matches); print_r($matches);
Но результат подобен:
Array ( [0] => hello hello hello hello hello hello hello )
Вам нужно изменить '\n'
на "\n"
.
От PHP.net :
Если строка заключена в двойные кавычки ("), PHP будет интерпретировать больше управляющих последовательностей для специальных символов:
\ n linefeed (LF или 0x0A (10) в ASCII)
Больше…
Руководство пользователя
Примечание. В отличие от синтаксисов с двойными кавычками и heredoc, переменные и escape-последовательности для специальных символов не будут расширяться, если они встречаются в одиночных кавычках.
Поэтому используйте «\ n» вместо «\ n»
Кроме того, вместо \n
вы можете использовать константу PHP_EOL.
В Windows «\ r \ n» можно использовать как конец строки, для этого случая вы можете сделать двойную замену:
$matches=explode("\n", str_replace("\r","\n",$matches));