Одиночні та подвійні лапки обробляються дещо різними у PHP. Читайте далі, щоб побачити відмінності в тому, як вони оцінюються.
Одиночні цитати
Одиночні цитати, як правило, розбирають речі в набагато більш буквальному сенсі. Наприклад, візьміть наступне:
$ test = "BOOOM"; echo '$ test'
Ім'я змінної, якщо розміщується в межах однієї лапки, не розбирається на її фактичне значення. Ось що насправді надруковано від запуску цього як простої програми PHP:
$ тест
Є лише два сценарії, які я можу придумати, де інформація фактично розбирається в межах одного цитованого рядка. По-перше, для відображення єдиного котируваного символу йому повинно передувати косою рисою. Інакше це буде інтерпретуватися як кінець вашої рядка. По-друге, щоб відобразити зворотний кут нахилу, йому повинен передувати ще один зворотний нахил. Приклад:
відлуння 'єдина цитата: \' '; echo 'зворотна косою рисою: \\';
Подвійні цитати
Подвійні котирування, як правило, розбирають речі для вас. При запуску між подвійними лапками:
$ test = "BOOOM"; echo "$ test"
Він виводить фактичне змінне значення:
BOOOM
Тепер час від часу ви будете стикатися зі сценарієм, коли назва змінної, яку ви намагаєтеся вивести, спричиняє неправильний аналіз синтаксису через деякі оточуючі символи.
$ test = "BOOOM"; ехо "$ перевірено";
Як ви думаєте, що тут виходить? Відповідь - нічого. PHP шукає змінну з назвою $ тестується, і оскільки вона не існує, нічого не виводиться. Правильним способом виведення значення, за яким слідує 'ed', буде:
$ test = "BOOOM"; ехо "{$ test} ed";
Загорнувши його у фігурні дужки, це дозволяє PHP знати, де починається і зупиняється змінна, що дозволяє їй правильно оцінювати змінну.
Різниця швидкості
Я провів кілька простих тестів на бенчмаркінг, щоб оцінити деякі сценарії різниці, різниця у швидкості між двома є незначною. Одиночні котирування були настільки дещо швидшими через те, що йому не потрібно шукати змінну, а потім розбирати значення, але я ніколи не стикався зі сценарієм, коли це мало би мало значення для значення. Використовуйте те, що відповідає вашим поточним потребам.