Я был бы признателен, если бы кто-нибудь показал мне, как вычислить значение strlen в одинарной и двойной кавычках?
эхо-стрлен('l\n2') ; //4 эхо-стрлен("l\n2"); //3
Спасибо
Я был бы признателен, если бы кто-нибудь показал мне, как вычислить значение strlen в одинарной и двойной кавычках?
эхо-стрлен('l\n2') ; //4 эхо-стрлен("l\n2"); //3
Спасибо
Одинарные кавычки берут строки буквально. 'l\n2' - это всего 4 символа. (Ну, не совсем верно с двумя последовательными обратными косыми чертами...).
Двойные кавычки оценивают строки, допускающие экранированные символы и синтаксический анализ переменных. Эта оценка выполняется при создании строки перед выполнением функции strlen().
В двойных кавычках "\" является escape-символом. Это приводит к тому, что "\n" оценивается как перевод строки (LF), который является одним символом ASCII. Это делает "l\n2" строкой из 3 символов: "l", LF и "2".