Anonim

Единичните и двойните кавички се обработват малко по-различно в PHP. Прочетете, за да видите разликите в начина, по който се оценяват.

Единични котировки

Единичните кавички са склонни да разберат нещата в много по-буквален смисъл. Например вземете следното:

$ test = "BOOOM"; ехо '$ test'

Името на променливата, когато е поставено в рамките на единичните кавички, не се анализира на нейната действителна стойност. Ето какво всъщност се отпечатва от стартирането на това като обикновена програма за php:

тест $

Има само 2 сценария, за които мога да се сетя къде информацията всъщност се анализира в един цитиран низ. Първо, за да се покаже един цитиран знак, той трябва да бъде предшестван от наклонена черта. В противен случай това ще бъде интерпретирано като края на вашия низ. Второ, за да се покаже наклонена черта, тя трябва да бъде предшествана от друг обрат. Пример:

ехо 'единичен цитат: \' '; ехо 'наклонена черта: \\';

Двойни котировки

Двойните котировки са склонни да анализират нещата вместо вас. Когато стартирате между двойни кавички:

$ test = "BOOOM"; ехо "$ test"

Извежда действителната променлива стойност:

BOOOM

Сега понякога ще се сблъскате със сценарий, при който името на променливата, която се опитвате да изведете, е причинено да не бъде анализиран правилно поради някои заобикалящи знаци.

$ test = "BOOOM"; ехо "$ тествано";

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

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

Опаковайки го в къдравите скоби, той позволява на PHP да знае къде променливата започва и спира, което й позволява правилно да оцени променливата.

Разлика в скоростта

Проведох няколко прости теста за сравнителен анализ, за ​​да оценя някои сценарии на разликата, разликата в скоростта между двете е незначителна. Единичните кавички бяха толкова малко по-бързи, поради факта, че не е необходимо да се търси променлива и след това да се анализира стойността, но аз никога не съм срещал сценарий, при който това е направило достатъчно значение за значение. Използвайте, което отговаря на вашите текущи нужди.

Разлика между единична оферта и двойна оферта в php