php 7 — addcslashes (), параметр charlist — правильно ли объяснение на php.net?

Когда я запускаю этот кусок кода:

echo addcslashes('testing\n', "\n");

Это выводит это:

"testing\n"

Объяснение параметров -> Charlist говорит:

Если charlist содержит символы \ n, \ r и т. д., они преобразуются в C-like стиль

но это не кажется правильным. Это будет означать, что "\n" превращается в "\n" в стиле C, который не имеет никакого смысла.

Можно ли утверждать, что страница php.net неверна? Было бы правильно, если бы было сказано, что эти типы персонажей просто остаются прежними? Я изучаю программирование на PHP и хочу убедиться, что информация, которая у меня есть, верна.

1

Решение

Это означает, что \n (внутри двойных кавычек) будет экранирован и станет \\n:

var_dump("testing\n"); // 8 bytes
var_dump(addcslashes("testing\n", "\n")); // 9 bytes

Будут ли выходы:

string(8) "testing
"string(9) "testing\n"
1

Другие решения

Других решений пока нет …