substr_count не работает с новыми строками?

Это сводит меня с ума, он продолжает возвращаться 0

substr_count('df
d
fd
f
df', '\n');

если я использую букву, как "д", она работает нормально

substr_count('df
d
fd
f
df', 'd');

Может кто-нибудь пролить некоторый свет на это?

Спасибо

3 ответа

Решение

Вам необходимо использовать двойные кавычки для управляющих символов:

var_dump(substr_count('df
d
fd
f
df', "\n"));

"\ n" - это не то же самое, что "\ n". "\ n" - это текст, содержащий косую черту и букву "n", а "\ n" - символ новой строки.

Предлагаем вам прочитать соответствующий раздел руководства по PHP о строках, особенно там, где говорится о одинарных и двойных кавычках.

В дополнение к Аликс и Марку: пожалуйста, используйте PHP_EOL вместо \n, Новые строки различаются на разных платформах (Windows/Linux/Mac), но PHP_EOL всегда прав. Посмотрите этот вопрос для получения дополнительной информации по теме: Когда я использую константу PHP "PHP_EOL"?

Другие вопросы по тегам