Php двойные кавычки в строке. В чем разница между строками с одинарными и двойными кавычками в PHP? Пример #11 Отрицательные числовые индексы

Сегодня займёмся кавычками, но не простыми, а кавычками в PHP и плюс экранирование кавычек, варианты. Одинарная кавычка php? двойная кавычка php?

Начнем с того, что в PHP допускается применение и двойных кавычек и одинарных.

И есть несколько вариантов экранирования кавычек.

Навигация по странице:

    Где располагаются кавычки на английской клавиатуре?

  1. На клавиатуре в английской раскладке одинарная кавыча это строчная буква э -> "
    Двойная кавычка это ПРОПИСНАЯ буква Э -> "

    Php символ двойных и одинарных кавычек

  2. Естественно, что вам потребуется символ кавычек, т.е. если вам нужно вывести кавычку, но чтобы она не срабатывала, для этого и существуют символы кавычек.

    Символ двойных кавычек:

    "

    Символ одинарных кавычек:

    "

    Php экранирование кавычек.

  3. Что вы собственно подразумеваете под словами экранирование кавычек в php.

    Давайте разберем пример, ведь на примерах всегда легче понять о чем идет речь!

    Давайте напишем код php:

    echo "Кавычки php ";

    Но если мы вставим данный код сюда, то боюсь, что вы никогда бы не увидели данные строчки!?

    Почему? Да просто потому, что код не сработает -> снаружи и внутри двойные кавычки

    Ошибка экранирования кавычек php

  4. Отдельной ошибки для вывода ошибки экранирования кавычек нет, но результат такой ошибки приведен ниже:

    Специально для вас сделал , с вставленным в неё данным кодом, и если хотите то вы можете посмотреть, что из этого у вас получилось бы!
    Что данная ошибка нам говорит!?

    Parse error: syntax error, unexpected "http" (T_STRING), expecting "," or ";" in путь on line номер строки

    Синтаксическая ошибка(Parse error: syntax error), код нам говорит: unexpected - неожиданную херню часть строки вижу... http - это вовсе не то, что я ожидал увидеть...
    Там должно идти, либо присоединение, либо конец строки;

    Теперь по русски...

    Что после второй двойной кавычки идет какая-то фигня, которая там не должна быть! Т.е. мне дайте те символы которые мне нравятся... т.е. исходя из его требований...

    вот что он ожидает увидеть...

    echo "Кавычки php ";

    Естественно так никто не пишет, хотя...кто его знает...

    Если вы проделаете тоже самое с одинарными кавычками - то получите аналогичную ошибку экранирования кавычек!

    Как экранировать двойные кавычки в php

  5. В данном конкретном случае, как избавиться от ошибки и заэкранировать двойные кавычки!?

    Перед теми двойными кавычками, что расположены внутри, нужно поставить слеш, который смотрит влево:

    echo "Кавычки php ";

    Как экранировать одинарные кавычки в php

  6. Если предположим, у нас есть такая же строка, что приведена выше, но вместо двойных кавычек там одианрные, то поступаем аналогично - перед каждой кавычкой внутри ставим слеш влево.

    echo "Кавычки php ";

    Использовать разные кавычки вместо экранирования

  7. Вместо экранирования кавычек, можно использовать такой вариант - возьмем выше идущий код и поменяем внутри одинарные кавычки на двойные...

    echo ""Кавычки php"";

    Тоже самое можно сделать и с двойными кавычки, снаружи оставляем двойные, внутри одинарные...

    echo "Кавычки php ";

    Как вывести кавычки php на экран

  8. Для того, чтобы вывести кавычки на экран, прямо здесь на странице... и чтобы они не являлись кодом php – как бы странно это не звучало! Кавычки нужно поменять на html сущности, например:

    Одинарная кавычка через html код::

    " - одинарная кавычка « " »

    Двойная кавычка через html код:

    " - двойная кавычка « " »

    Такая кавычка будет выглядеть как кавычка на экране, но в коде Php уже участвовать не будет…

    Не правильные кавычки php

  9. Не правильные кавычки - как в том мультике - неправильные пчелы

    Ко всему коду PHP надо относиться внимательно! Если вы к примеру писали что-то в программе Word, какой-то текст, потом, в нем же начали делать код, как получилось у меня в первый раз.

    И я никак не мог понять в чем проблема – он реально мне не хотел показывать простой код. Я готов был сломать комп кувалдой!!!

    А оказалась, что кавычки в редакторе кода отличаются от Word. И это никак невозможно понять, если вы через это не прошли!

    Вот вам пример кавычек в Word-е.

Строка в PHP - это набор символов любой длины. В отличие от Си, строки могут содержать в себе также и нулевые символы, что никак не повлияет на программу. Иными словами, строки можно использовать для хранения бинарных данных. Длина строки ограничена только размером свободой оперативной памяти.

В PHP символ это то же самое, что и байт, это значит, что возможно ровно 256 различных символов. Это также означает, что PHP не имеет встроенной поддержки Unicode. Некоторую поддержку Unicode обеспечивают функции utf8_encode() и utf8_decode() .

Строка легко может быть обработана при помощи стандартных функций, можно также непосредственно обратиться к любому ее символу.

Простой пример строковой переменной:

$ a = "Это просто текст, записанный в строковую переменную" ;
echo $ a ; //Выводит "Это просто текст, записанный в строковую переменную"
?>

А теперь подробно разберем синтаксис типа данных string .

Синтаксис типа string (строк)

Строка может быть определена тремя различными способами.

Простейший способ определить строку - это заключить ее в одинарные кавычки (символ " ).

Чтобы использовать одинарную кавычку внутри строки, как и во многих других языках, ее необходимо предварить символом обратной косой черты (\ ), т. е. экранировать ее. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, вам необходимо продублировать ее. Обратите внимание, что если вы попытаетесь экранировать любой другой символ, обратная косая черта также будет напечатана! Так что, как правило, нет необходимости экранировать саму обратную косую черту.

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

Приведем пример использования одинарных кавычек:

echo "это простая строка" ;

Echo "Также вы можете вставлять в строки
символ новой строки таким образом,
поскольку это нормально"
;

// Выведет: Однажды Арнольд сказал: "I"ll be back"
echo "Однажды Арнольд сказал: "I\"ll be back"" ;

Echo "Вы удалили C:\\*.*?" ;

// Выведет: Вы удалили C:\*.*?
echo "Вы удалили C:\*.*?" ;

// Выведет: Это не вставит: \n новую строку
echo "Это не вставит: \n новую строку" ;

// Выведет: Переменные $expand также $either не подставляются
echo "Переменные $expand также $either не подставляются" ;
?>

Если строка заключена в двойные кавычки (" ), PHP распознает большее количество управляющих последовательностей для специальных символов:

Таблица управляющих последовательностей:

Последовательность Значение
\n новая строка (LF или 0x0A (10) в ASCII)
\r возврат каретки (CR или 0x0D (13) в ASCII)
\t горизонтальная табуляция (HT или 0x09 (9) в ASCII)
\\ обратная косая черта
\$ знак доллара
\" двойная кавычка
\{1,3} последовательность символов, соответствующая регулярному выражению, символ в восьмеричной системе счисления
\x{1,2} последовательность символов, соответствующая регулярному выражению, символ в шестнадцатеричной системе счисления

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

Другой способ определения строк - это использование heredoc-синтаксиса ("<<< "). После <<< необходимо указать идентификатор, затем идет строка, а потом этот же идентификатор, закрывающий вставку.

Закрывающий идентификатор должен начинаться в первом столбце строки. Кроме того, идентификатор должен соответствовать тем же правилам именования, что и все остальные метки в PHP: содержать только буквенно-цифровые символы и знак подчеркивания, и должен начинаться с нецифры или знака подчеркивания.

Внимание! Очень важно отметить, что строка с закрывающим идентификатором не содержит других символов, за исключением, возможно, точки с запятой (; ). Это означает, что идентификатор и что не может быть никаких пробелов или знаков табуляции до или после точки с запятой. Важно также понимать, что первым символом перед закрывающим идентификатором должен быть символ новой строки, определенный в вашей операционной системе. Например, на Windows® это \r .

Если это правило нарушено и закрывающий идентификатор не является "чистым", считается, что закрывающий идентификатор отсутствует и PHP продолжит его поиск дальше. Если в этом случае верный закрывающий идентификатор так и не будет найден, то это вызовет ошибку в обработке с номером строки в конце скрипта.

Heredoc -текст ведет себя так же, как и строка в двойных кавычках, при этом их не имея. Это означает, что вам нет необходимости экранировать кавычки в heredoc, но вы по-прежнему можете использовать вышеперечисленные управляющие последовательности. Переменные обрабатываются, но с применением сложных переменных внутри heredoc нужно быть также внимательным, как и при работе со строками.

Пример определения heredoc-строки:

$str = <<Пример строки,
охватывающей несколько строчек,
с использованием heredoc-синтаксиса.
EOD;

/* Более сложный пример с переменными. */
class foo
{
var $foo ;
var $bar ;

Function foo ()
{
$this -> foo = "Foo" ;
$this -> bar = array("Bar1" , "Bar2" , "Bar3" );
}
}

$foo = new foo ();
$name = "МоеИмя" ;

Echo <<Меня зовут "$name". Я печатаю $foo -> foo.
Теперь я вывожу
{ $foo -> bar [ 1 ]} .
Это должно вывести заглавную букву "A":
\x41
EOT;
?>

Я не эксперт в PHP-программировании, но я немного смущен, почему я вижу некоторый код в PHP со строкой, помещенной в одинарные кавычки, а иногда и в двойные кавычки.

Я просто знаю в.NET или языке C, если он находится в одной кавычке, это означает, что это символ, а не строка.

11 ответов

что вы должны знать

$a = "name"; $b = "my $a"; == "my name" $c = "my $a"; != "my name"

в PHP люди используют одинарную кавычку для определения постоянной строки, например "a" , "my name" , "abc xyz" , при использовании двойной кавычки для определения строки содержит идентификатор, например "a $b $c $d" .

Echo "my name";

быстрее чем

Echo "my name";

Echo "my " . $a;

медленнее, чем

Echo "my $a";

это верно для других используемых строк.

пример одиночных, двойных, heredoc и nowdoc кавычек

оба вида вложенных символов являются строками. Один тип цитаты удобно использован для того чтобы заключить другой тип цитаты. """ и """ . Самая большая разница между типами кавычек заключается в том, что ссылки на вложенные идентификаторы заменяются внутри двойных кавычек, но не внутри одинарных кавычек.

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

$test = "variable"; echo "Hello Mr $test"; // the output would be: Hello Mr variable echo "Hello Mr $test"; // the output would be: Hello Mr $test

здесь двойная кавычка анализирует значение, а одинарная кавычка рассматривается как строковое значение (без разбора переменной $test.)

возможно, я немного опоздал, и немного не по теме, но все же...

вам не нужно выбирать из-за содержимого вашей строки между:
alert("It"s \"game\" time."); или alert("It\"s "game" time.");

вместо этого вы можете ввести вот так, а затем использовать двойные или одинарные кавычки, потому что это не имеет значения:
alert("It’s “game” time."); и alert("It’s “game” time.");

$name = "test"; $singleQuote = "This is example for single quote $name"; // here $name variable not evaluating echo $singleQuote; // Output: This is example for single quote $name $singleQuote = "This is example for single quote $name"; // here $name variable will evaluate and replace variable value echo $singleQuote; // Output: This is example for single quote test Also inside single quote expression evaluate faster campare to double quotes

одно:

очень важно отметить, что строка с закрывающим идентификатором помощи heredoc должен содержать никаких других символов, кроме точка с запятой (;) . Это означает, что идентификатор не может быть отступом , и не может быть помещения или вкладки до или после запятой.

пример:

$str = <<

Строка - это набор символов. В PHP символ это то же самое, что и байт, это значит, что возможно ровно 256 различных символов. Это также означает, что PHP не имеет встроенной поддержки Unicode"а. Некоторую поддержку Unicode"а обеспечивают функции utf8_encode() и utf8_decode() .

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

Синтаксис

    Строка может быть определена тремя различными способами.

Одинарные кавычки

Простейший способ определить строку - это заключить ее в одинарные кавычки (символ ").

Чтобы использовать одинарную кавычку внутри строки, как и во многих других языках, ее необходимо предварить символом обратной косой черты (\), т. е. экранировать ее. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, вам необходимо продублировать ее. Обратите внимание, что если вы попытаетесь экранировать любой другой символ, обратная косая черта также будет напечатана! Так что, как правило, нет необходимости экранировать саму обратную косую черту.

Замечание: В PHP 3 в данном случае будет выдано сообщение уровня E_NOTICE.

Замечание: В отличие от двух других синтаксисов, переменные и экранирующие последовательности для специальных символов, встречающиеся в строках, заключенных в одинарные кавычки, не обрабатываются.

Echo "это простая строка"; echo "Также вы можете вставлять в строки символ новой строки таким образом, поскольку это нормально"; // Выведет: Однажды Арнольд сказал: "I"ll be back" echo "Однажды Арнольд сказал: "I\"ll be back""; // Выведет: Вы удалили C:\*.*? echo "Вы удалили C:\\*.*?"; // Выведет: Вы удалили C:\*.*? echo "Вы удалили C:\*.*?"; // Выведет: Это не вставит: \n новую строку echo "Это не вставит: \n новую строку"; // Выведет: Переменные $expand также $either не подставляются echo "Переменные $expand также $either не подставляются";

Двойные кавычки

Если строка заключена в двойные кавычки ("), PHP распознает большее количество управляющих последовательностей для специальных символов:

Таблица 11-1. Управляющие последовательности

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

Но самым важным свойством строк в двойных кавычках является обработка переменных. Смотрите более подробно: обработка строк.

Heredoc

Другой способ определения строк - это использование heredoc-синтаксиса ("

Закрывающий идентификатор должен начинаться в первом столбце строки. Кроме того, идентификатор должен соответствовать тем же правилам именования, что и все остальные метки в PHP: содержать только буквенно-цифровые символы и знак подчеркивания, и должен начинаться с нецифры или знака подчеркивания.

Внимание

Очень важно отметить, что строка с закрывающим идентификатором не содержит других символов, за исключением, возможно, точки с запятой (;). Это означает, что идентификатор не должен вводиться с отступом и что не может быть никаких пробелов или знаков табуляции до или после точки с запятой. Важно также понимать, что первым символом перед закрывающим идентификатором должен быть символ новой строки, определенный в вашей операционной системе. Например, на Macintosh это \r.

Если это правило нарушено и закрывающий идентификатор не является "чистым", считается, что закрывающий идентификатор отсутствует и PHP продолжит его поиск дальше. Если в этом случае верный закрывающий идентификатор так и не будет найден, то это вызовет ошибку в обработке с номером строки в конце скрипта.

Heredoc-текст ведет себя так же, как и строка в двойных кавычках, при этом их не имея. Это означает, что вам нет необходимости экранировать кавычки в heredoc, но вы по-прежнему можете использовать вышеперечисленные управляющие последовательности. Переменные обрабатываются, но с применением сложных переменных внутри heredoc нужно быть также внимательным, как и при работе со строками.

Пример 11-2. Пример определения heredoc-строки

$str = <<foo = "Foo"; $this->bar = array("Bar1", "Bar2", "Bar3"); } } $foo = new foo(); $name = "МоеИмя"; echo <<foo. Теперь я вывожу {$foo->bar}. Это должно вывести заглавную букву "A": \x41 EOT;

Замечание: Поддержка heredoc была добавлена в PHP 4.

Обработка переменных

Если строка определяется в двойных кавычках, либо при помощи heredoc, переменные внутри нее обрабатываются.

Существует два типа синтаксиса: простой и сложный. Простой синтаксис более легок и удобен. Он дает возможность обработки переменной, значения массива (array) или свойства объекта (object).

Сложный синтаксис был введен в PHP 4 и может быть распознан по фигурным скобкам, окружающих выражение.

Простой синтаксис

Если интерпретатор встречает знак доллара ($), он захватывает так много символов, сколько возможно, чтобы сформировать правильное имя переменной. Если вы хотите точно определить конец имени, заключайте имя переменной в фигурные скобки.

$beer = "Heineken"; echo "$beer"s taste is great"; // работает, """ это неверный символ для имени переменной echo "He drank some $beers"; // не работает, "s" это верный символ для имени переменной echo "He drank some ${beer}s"; // работает echo "He drank some {$beer}s"; // работает

Точно также могут быть обработаны элемент массива (array) или свойство объекта (object). В индексах массива закрывающая квадратная скобка (]) обозначает конец определения индекса. Для свойств объекта применяются те же правила, что и для простых переменных, хотя с ними невозможен трюк, как с переменными.

// Эти примеры специфически об использовании массивов внутри // строк. Вне строк всегда заключайте строковые ключи вашего // массива в кавычки и не используйте вне строк {скобки}. // Давайте покажем все ошибки error_reporting(E_ALL); $fruits = array("strawberry" => "red", "banana" => "yellow"); // Работает, но заметьте, что вне кавычек строки это работает по-другому echo "A banana is $fruits."; //Работает echo "A banana is {$fruits["banana"]}."; // Работает, но PHP, как описано ниже, сначала ищет // константу banana. echo "A banana is {$fruits}."; // Не работает, используйте фигурные скобки. Это вызовет ошибку обработки. echo "A banana is $fruits["banana"]."; // Работает echo "A banana is " . $fruits["banana"] . "."; // Работает echo "This square is $square->width meters broad."; // Не работает. Для решения см. сложный синтаксис. echo "This square is $square->width00 centimeters broad.";

Для чего-либо более сложного вы должны использовать сложный синтаксис.

Сложный (фигурный) синтаксис

Он называется сложным не потому, что труден в понимании, а потому что позволяет использовать сложные выражения.

Фактически, вы можете включить любое значение, находящееся в пространстве имени в строке с этим синтаксисом. Вы просто записываете выражение таким же образом, как и вне строки, а затем заключаете его в { и }. Поскольку вы не можете экранировать "{", этот синтаксис будет распознаваться только когда $ следует непосредственно за {. (Используйте "{\$" или "\{$" чтобы отобразить "{$"). Несколько поясняющих примеров:

// Давайте покажем все ошибки error_reporting(E_ALL); $great = "fantastic"; // Не работает, выведет: This is { fantastic} echo "This is { $great}"; // Работает, выведет: This is fantastic echo "This is {$great}"; echo "This is ${great}"; // Работает echo "Этот квадрат шириной {$square->width}00 сантиметров."; // Работает echo "Это работает: {$arr}"; // Это неверно по той же причине, что и $foo неверно вне // строки. Другими словами, это по-прежнему будет работать, // но поскольку PHP сначала ищет константу foo, это вызовет // ошибку уровня E_NOTICE (неопределенная константа). echo "Это неправильно: {$arr}"; // Работает. При использовании многомерных массивов, внутри // строк всегда используйте фигурные скобки echo "Это работает: {$arr["foo"]}"; // Работает. echo "Это работает: " . $arr["foo"]; echo "Вы даже можете записать {$obj->values->name}"; echo "Это значение переменной по имени $name: {${$name}}";

Доступ к символу в строке и его изменение

Символы в строках можно использовать и модифицировать, определив их смещение относительно начала строки, начиная с нуля, в фигурных скобках после строки.

Замечание: Для обеспечения обратной совместимости, вы по-прежнему имеете возможность использовать в тех же целях скобки массива. Однако, начиная с PHP 4, этот синтаксис нежелателен к использованию.

Пример 11-3. Несколько примеров строк

// Получение первого символа строки $str = "Это тест."; $first = $str{0}; // Получение третьего символа строки $third = $str{2}; // Получение последнего символа строки $str = "Это все еще тест."; $last = $str{strlen($str)-1}; // Изменение последнего символа строки $str = "Посмотри на море"; $str{strlen($str)-1} = "я";

Полезные функции и операторы

Строки могут быть объединены при помощи оператора "." (точка). Обратите внимание, оператор сложения "+" здесь не работает. Дополнительную информацию смотрите в разделе Строковые операторы.

Для модификации строк существует множество полезных функций.

Основные функции описаны в разделе строковых функций, функции регулярных выражений для расширенного поиска и замены (в двух частях: Perl и POSIX расширенный).

Также существуют функции для URL-строк, и функции для шифрования/дешифрования строк (mcrypt и mhash).

Наконец, если вы все еще не нашли, что искали, смотрите также функции для символьного типа.

Преобразование в строку

Вы можете преобразовать значение в строку, используя приведение (string), либо функцию strval() . В выражениях, где необходима строка, преобразование происходит автоматически. Это происходит, когда вы используете функции echo() или print() , либо когда вы сравниваете значение переменной со строкой. Прочтение разделов руководства Типы и Манипуляции с типами сделает следующее более понятным. Смотрите также settype() .

Булево (boolean) значение TRUE преобразуется в строку "1", а значение FALSE представляется как "" (пустая строка). Этим способом вы можете преобразовывать значения в обе стороны - из булева типа в строковый и наоборот.

Целое (integer) или число с плавающей точкой (float) преобразуется в строку, представленную числом, состоящим из его цифр (включая показатель степени для чисел с плавающей точкой).

Массивы всегда преобразуются в строку "Array", так что вы не можете отобразить содержимое массива (array), используя echo() или print() , чтобы узнать, что он содержит. Чтобы просмотреть один элемент, вам нужно сделать что-то вроде echo $arr["foo"]. Смотрите ниже советы о том, как отобразить/просмотреть все содержимое.

Объекты всегда преобразуются в строку "Object". Если вы хотите вывести значение переменной-члена объекта (object) с целью отладки, прочтите следующие абзацы. Если вы хотите получить имя класса требуемого объекта, используйте get_class() .

Ресурсы всегда преобразуются в строки со структурой "Resource id #1", где 1 - это уникальный номер ресурса (resource), присвоенный ему PHP во время выполнения. Если вы хотите получить тип ресурса, используйте .

NULL всегда преобразуется в пустую строку.

Как вы могли видеть выше, вывод массивов, объектов или ресурсов не предоставляет вам никакой полезной информации о самих значениях. Более подходящий способ вывода значений для отладки - использовать функции print_r() и var_dump() .

Вы также можете преобразовать значения PHP в строки для постоянного хранения. Этот метод называется сериализацией и может быть выполнен при помощи функции serialize() . Кроме того, если в вашей установке PHP есть поддержка WDDX, вы можете сериализовать значения PHP в структуры XML.

Преобразование строк в числа

Если строка распознается как числовое значение, результирующее значение и тип определяется так как показано далее.

Строка будет распознана как float, если она содержит любой из символов ".", "e", или "E". Иначе она будет определена как целое.

Значение определяется по начальной части строки. Если строка начинается с верного числового значения, будет использовано это значение. Иначе значением будет 0 (ноль). Верное числовое значение - это одна или более цифр (могущих содержать десятичную точку), по желанию предваренных знаком, с последующим необязательным показателем степени. Показатель степени - это "e" или "E" с последующими одной или более цифрами.

$foo = 1 + "10.5"; // $foo это float (11.5) $foo = 1 + "-1.3e3"; // $foo это float (-1299) $foo = 1 + "bob-1.3e3"; // $foo это integer (1) $foo = 1 + "bob3"; // $foo это integer (1) $foo = 1 + "10 Small Pigs"; // $foo это integer (11) $foo = 4 + "10.2 Little Piggies"; // $foo это float (14.2) $foo = "10.0 pigs " + 1; // $foo это float (11) $foo = "10.0 pigs " + 1.0; // $foo это float (11)

Более подробную информацию об этом преобразовании смотрите в разделе о strtod(3) документации Unix.

Если вы хотите протестировать любой из примеров этого раздела, вы можете скопировать и вставить его и следующую строку, чтобы увидеть, что происходит:

Echo "\$foo==$foo; тип: " . gettype ($foo) . "
\n";

Не ожидайте получить код символа, преобразовав его в целое (как вы могли бы сделать, например, в C). Для преобразования символов в их коды и обратно используйте функции ord() и

Не секрет, что кавычки в php бывают одинарные и двойные. Давайте выясним, когда уместнее те или иные варианты использования кавычек.

Одинарные кавычки

Простейшим способом определить строку является — выделение текста в одинарные кавычки.

Если нам нужно использовать одинарную кавычку в тексте, то необходимо проэкранировать ее косой чертой (\).

Управляющие последовательности в одинарных кавычках не работают.

Примеры использования одинарных кавычек :

Двойные кавычки

Если выделить текст двойными кавычками, то строка будет определена также, как и одинарными. Но отличия у кавычек конечно же есть.

Ситуация с экранированием кавычек такая же, как и с одинарными кавычками.

Строка, которая заключена двойными кавычками — распознает большинство управляющих последовательностей для специальных символов.

Важнейшим отличием является тот факт, что двойные кавычки обрабатывают переменные.

Примеры использования двойных кавычек :

Заострим внимание на том, что строки с двойными кавычками обрабатывают переменные.

Что происходит при обработке строки? Интерпретатор проверяют каждую строку с двойными кавычками на переменные , т.е. происходит принудительный парсинг, на что уходит дополнительное время. Да, часто это доли секунды, но сам факт надо понимать. То есть если сравнить обработку разными кавычками одной строки (без переменных само собой), то строка с одинарными кавычками однозначно будет обработана быстрее.

Расчеты

На сайте ProfiPHP нашел интересные расчеты на данную тему. Автор написал простой скрипт, с помощью которого вычислял время на обработку строк.