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.