Единичните и двойните кавички се обработват малко по-различно в PHP. Прочетете, за да видите разликите в начина, по който се оценяват.
Единични котировки
Единичните кавички са склонни да разберат нещата в много по-буквален смисъл. Например вземете следното:
$ test = "BOOOM"; ехо '$ test'
Името на променливата, когато е поставено в рамките на единичните кавички, не се анализира на нейната действителна стойност. Ето какво всъщност се отпечатва от стартирането на това като обикновена програма за php:
тест $
Има само 2 сценария, за които мога да се сетя къде информацията всъщност се анализира в един цитиран низ. Първо, за да се покаже един цитиран знак, той трябва да бъде предшестван от наклонена черта. В противен случай това ще бъде интерпретирано като края на вашия низ. Второ, за да се покаже наклонена черта, тя трябва да бъде предшествана от друг обрат. Пример:
ехо 'единичен цитат: \' '; ехо 'наклонена черта: \\';
Двойни котировки
Двойните котировки са склонни да анализират нещата вместо вас. Когато стартирате между двойни кавички:
$ test = "BOOOM"; ехо "$ test"
Извежда действителната променлива стойност:
BOOOM
Сега понякога ще се сблъскате със сценарий, при който името на променливата, която се опитвате да изведете, е причинено да не бъде анализиран правилно поради някои заобикалящи знаци.
$ test = "BOOOM"; ехо "$ тествано";
Какво мислите, че има резултат тук? Отговорът е нищо. PHP търси променлива с име $ тествана и тъй като тя не съществува, нищо не се извежда. Правилният начин за извеждане на стойността, последвана от 'ed', е:
$ test = "BOOOM"; ехо "{$ test} ed";
Опаковайки го в къдравите скоби, той позволява на PHP да знае къде променливата започва и спира, което й позволява правилно да оцени променливата.
Разлика в скоростта
Проведох няколко прости теста за сравнителен анализ, за да оценя някои сценарии на разликата, разликата в скоростта между двете е незначителна. Единичните кавички бяха толкова малко по-бързи, поради факта, че не е необходимо да се търси променлива и след това да се анализира стойността, но аз никога не съм срещал сценарий, при който това е направило достатъчно значение за значение. Използвайте, което отговаря на вашите текущи нужди.
