Подвійні та одинарні лапки в PHP

Вітаю. Це моя перша стаття після цілого місяця перерви. Вийшло так через проблеми з комп'ютером(в підсумку до речі перейшов повністю на Ubuntu про що і буде пост буквально на днях) й банально через нестачу часу(ну або лінь).

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

Загалом закінчую вже вступ і так його розтягнув. Переходимо до сьогоднішньої теми: використання лапок у PHP. Якщо Ви тільки починаєте вивчати цю мову програмування то власне у вас уже назріло(або назріє найближчим часом) питання: яка різниця між подвійними "" та одинарними '' лапками? Й дійсно, працюють і ті й інші на перший погляд однаково...але тільки на перший погляд.

Ну не тягни...

Якщо рядок обрамлений одинарними лапками то інтерпретатор просто виводить його на екран. Нічого більше. І навіть якщо ви пропишете:

$var = 21;
echo 'Це стаття номер $var';

Ми побачимо "Це стаття номер $var". Якщо нам потрібно, щоб замість імені змінної підставлялося її значення ми можемо або конкатенувати(дуже страшне слово, ледве написав, і не факт що правильно) тобто об'єднати за допомогою ., рядок зі змінною:

echo 'Це стаття номер ' . $var;

Або просто використовувати двійні лапки, зустрівши які PHP парсить їхній вміст та підставляє значення змінних. Також з ними можна використовувати спецсимволи(як наприклад символ перенесення рядку):

echo "Це стаття номер $var\n";

Рядок в одинарних лапках може містити в собі двійні лапки й навпаки:

echo "Це просто 'приклад'";
echo 'Це просто "приклад"';

Екранування лапок

Якщо ми вимушені використовувати двійні лапки в рядку вже обрамленому у двійні, то екрануємо їх за допомогою зворотнього слешу(теж саме з одинарними). Якщо треба вивести сам слеш - дублюємо його //:

$var = 'приклад';
echo "Це просто ще один \"" . $var . "\", але не складний!";
# Це просто ще один "приклад", але не складний!

Що і коли використовувати?

Різниця також полягає в тому, що подвійні лапки працюють трошки повільніше(вони ж ще витрачають час на парсинг рядку), хоча це помітно вже у дійсно великих скриптах.

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

От і все. Пишіть у коментарях, про що б хотіли почитати наступного разу :)