Przy definiowaniu danych tekstowych w PHP używamy pojedynczych i podwójnych cudzysłowów. Czy znasz zatem różnice między nimi? W tej lekcji poznamy różnice pomiędzy pojedynczymi i podwójnymi cudzysłowami w PHP.

Różnice w pojedynczych i podwójnych cudzysłowach w PHP

W przypadku danych określonych w pojedynczych cudzysłowach PHP drukuje całą treść prawie „tak jak jest”. Zmienne i większość sekwencji ucieczki nie są interpretowane. Wyjątkowo można go zinterpretować za pomocą ukośnika odwrotnego (znaku ucieczki).

Dane określone w cudzysłowie nie są drukowane w takiej postaci, w jakiej są. Dane są interpretowane i oceniane, jeśli występuje w nich zmienna.

Przykłady pojedynczego i podwójnego cudzysłowu PHP

Używanie zmiennych w danych tekstowych z pojedynczymi cudzysłowami

Wspomnieliśmy, że PHP drukuje zawartość prawie tak samo, jak w przypadku danych określonych w pojedynczych cudzysłowach. Jeśli użyjemy zmiennej w danych, które definiujemy w cudzysłowie, dane zmiennej nie zostaną wydrukowane. Nazwa zmiennej, której używamy, jest drukowana w niezmienionej postaci. Jeśli więc chcemy, aby zostały wydrukowane dane zmienne, musimy użyć podwójnych cudzysłowów.

$my_name = "Onur Özden";
echo 'Benim adım $my_name'; // Çıktı: Benim adım $my_name

Używanie cudzysłowów w cudzysłowie

Jeśli użyjemy cudzysłowów w cudzysłowie i nie użyjemy sekwencji ucieczki, PHP zwróci błąd na poziomie błędu analizy. Możemy łatwo rozpoznać problem na podstawie schematu kolorów w edytorze tekstu lub środowisku IDE, którego używamy.

$var1 = 'Ben PHP'yi öğreniyorum.'; // Çıktı: Parse error: syntax error, unexpected 'yi' (T_STRING)
$var2 = "Ben PHP"yi öğreniyorum."; // Çıktı: Parse error: syntax error, unexpected 'yi' (T_STRING)

Znaki ucieczki PHP W tej lekcji omówimy ten temat (sekwencje ucieczki).

Używanie zmiennych w danych tekstowych

Kolejną ważną kwestią jest użycie nawiasów klamrowych do wyodrębnienia nazwy zmiennej, którą chcemy ocenić. Dodajmy zmienną do danych typu tekstowego (string) w następujący sposób.

$my_name = "Onur Özden";
echo "Benim adım $my_name";

Takie użycie nie jest zalecane ze względu na czytelność. Zalecane użycie jest następujące.

$my_name = "Onur Özden";
echo "Benim adım {$my_name}";