Anonim

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

Одиночні цитати

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

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

Ім'я змінної, якщо розміщується в межах однієї лапки, не розбирається на її фактичне значення. Ось що насправді надруковано від запуску цього як простої програми PHP:

$ тест

Є лише два сценарії, які я можу придумати, де інформація фактично розбирається в межах одного цитованого рядка. По-перше, для відображення єдиного котируваного символу йому повинно передувати косою рисою. Інакше це буде інтерпретуватися як кінець вашої рядка. По-друге, щоб відобразити зворотний кут нахилу, йому повинен передувати ще один зворотний нахил. Приклад:

відлуння 'єдина цитата: \' '; echo 'зворотна косою рисою: \\';

Подвійні цитати

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

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

Він виводить фактичне змінне значення:

BOOOM

Тепер час від часу ви будете стикатися зі сценарієм, коли назва змінної, яку ви намагаєтеся вивести, спричиняє неправильний аналіз синтаксису через деякі оточуючі символи.

$ test = "BOOOM"; ехо "$ перевірено";

Як ви думаєте, що тут виходить? Відповідь - нічого. PHP шукає змінну з назвою $ тестується, і оскільки вона не існує, нічого не виводиться. Правильним способом виведення значення, за яким слідує 'ed', буде:

$ test = "BOOOM"; ехо "{$ test} ed";

Загорнувши його у фігурні дужки, це дозволяє PHP знати, де починається і зупиняється змінна, що дозволяє їй правильно оцінювати змінну.

Різниця швидкості

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

Різниця між однією і подвійною цитатою в php