Anonim

Одиночные и двойные кавычки обрабатываются немного по-другому в PHP. Читайте дальше, чтобы увидеть различия в том, как они оцениваются.

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

Одиночные кавычки имеют тенденцию анализировать вещи в гораздо более буквальном смысле. Например, возьмите следующее:

$ test = "BOOOM"; echo '$ test'

Имя переменной, помещенное в одинарные кавычки, не анализируется с ее фактическим значением. Вот что на самом деле печатается при запуске этой простой PHP-программы:

$ тест

Есть только 2 сценария, которые я могу придумать, где информация фактически анализируется в одной строке в кавычках. Во-первых, для отображения одного символа в кавычках ему должен предшествовать обратный слеш. В противном случае это будет интерпретироваться как конец вашей строки. Во-вторых, чтобы отобразить обратную косую черту, ей должна предшествовать другая обратная косая черта. Пример:

echo 'одинарная кавычка: \' '; echo 'обратная косая черта: \\';

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

Двойные кавычки имеют тенденцию разбирать вещи для вас. При запуске между двойными кавычками:

$ test = "BOOOM"; echo "$ test"

Он выводит фактическое значение переменной:

BOOOM

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

$ test = "BOOOM"; echo "$ test";

Как вы думаете, что получится здесь? Ответ ничто. PHP ищет переменную с именем $ test, и, поскольку она не существует, ничего не выводится. Правильный способ вывести значение, за которым следует 'ed':

$ test = "BOOOM"; echo "{$ test} ed";

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

Разница в скорости

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

Разница между одинарной и двойной кавычками в php