Anonim

Pojedyncze i podwójne cudzysłowy są nieco inaczej obsługiwane w PHP. Czytaj dalej, aby zobaczyć różnice w ich ocenie.

Pojedyncze cytaty

Pojedyncze cytaty mają tendencję do analizowania rzeczy w znacznie bardziej dosłowny sposób. Weźmy na przykład:

$ test = „BOOOM”; echo „$ test”

Nazwa zmiennej umieszczona w pojedynczych cudzysłowach nie jest analizowana do jej rzeczywistej wartości. Oto, co faktycznie wydrukowano po uruchomieniu tego jako prostego programu php:

test $

Są tylko 2 scenariusze, które mogę wymyślić, gdzie informacje są analizowane w ciągu jednego cudzysłowu. Po pierwsze, aby wyświetlić pojedynczy cudzysłów, musi być poprzedzony odwrotnym ukośnikiem. W przeciwnym razie będzie interpretowany jako koniec łańcucha. Po drugie, aby wyświetlić odwrotny ukośnik, musi być poprzedzony kolejnym odwrotnym ukośnikiem. Przykład:

echo „pojedynczy cudzysłów: \”; echo 'ukośnik odwrotny: \\';

Podwójne cytaty

Podwójne cudzysłowy mają tendencję do analizowania różnych rzeczy. Gdy biegniesz między podwójnymi cudzysłowami:

$ test = „BOOOM”; echo „$ test”

Wyprowadza rzeczywistą wartość zmiennej:

BOOOM

Od czasu do czasu natrafisz na scenariusz, w którym nazwa zmiennej, którą próbujesz wyprowadzić, nie jest poprawnie analizowana z powodu otaczających znaków.

$ test = „BOOOM”; echo „$ testowany”;

Jak myślisz, co się tu wydobywa? Odpowiedź jest niczym. PHP szuka zmiennej o nazwie $ testowanej, a ponieważ nie istnieje, nic nie jest generowane. Prawidłowym sposobem wyprowadzenia wartości, po której następuje „ed”, byłoby:

$ test = „BOOOM”; echo "{$ test} ed";

Zawinięcie go w nawiasach klamrowych pozwala PHP wiedzieć, gdzie zaczyna się i kończy zmienna, umożliwiając jej prawidłową ocenę.

Różnica prędkości

Przeprowadziłem kilka prostych testów porównawczych, aby ocenić niektóre scenariusze różnic, różnica prędkości między 2 jest znikoma. Pojedyncze cudzysłowy były co nieco nieco szybsze, ponieważ nie musi szukać zmiennej, a następnie analizować wartości, ale nigdy nie spotkałem się ze scenariuszem, w którym miałoby to wystarczającą różnicę, by mieć znaczenie. Używaj tego, co odpowiada Twoim bieżącym potrzebom.

Różnica między pojedynczym cytatem a podwójnym cytatem w php