PHP 8.2 - sprawdź co nowego!

Podstawy języka > Lekcja 5

Apostrof czy cudzysłów?

Jak już było wspomniane, stringi należy zapisywać w apostrofach lub cudzysłowach. Wspomniałem też, że istnieje pomiędzy nimi jedna, ale bardzo istotna różnica.

Mianowicie wszystko, co zostanie wpisane w apostrofach, zostanie w taki sposób odebrane przez interpreter. Nic więcej się z tym stringiem nie stanie. Przy użyciu cudzysłowów jest to dodatkowo interpretowane - zadziałają na przykład rozmaite znaki specjalne, czy też nazwy zmiennych zostaną zamienione na ich wartości. Taki sposób wstawienia zmiennych do ciągu nazywamy też interpolacją.

Zobaczmy to w praktyce:

<?php
$version = 8;
echo 'PHP $version!'; // result: PHP $version!
echo "PHP $version!"; // result: PHP 8!

Czy przykład z drugim echo można zapisać w apostrofach? Oczywiście, wystarczy użyć konkatenacji, którą poznaliśmy w poprzedniej lekcji. Nic nie stoi na przeszkodzie, aby połączyć ze sobą tekst i wartość zmiennej, nawet jeśli jest ona liczbą.

<?php
$version = 8;
echo 'PHP ' . $version . '!'; // result: PHP 8!

Który sposób jest lepszy? Cóż, jeśli nie podstawiamy zbyt wielu rzeczy do stringa, moim zdaniem ten pierwszy, z apostrofami. Interpreter nie musi niepotrzebnie dodatkowo przetwarzać stringów. Jeśli jednak jest to tekst, który trzeba wielokrotnie łączyć, możesz użyć zapisu z ". Ja używam apostrofów „domyślnie”, a gdy trzeba coś w tekście łączyć, to zmieniam na cudzysłowy.

Jako dodatek powiem, że przy zapisie z cudzysłowami warto wpisywać nazwy zmiennych w klamrach { }. Dzięki temu kod stanie się nieco czytelniejszy. Nie jest to jednak obowiązek, podany powyżej przykład również działa.

<?php
$version = 8;
echo "PHP {$version}!"; // result: PHP 8!

Ciekawostka

Wspomnę przy okazji, że istnieją jeszcze dwa zapisy stringów w PHP: Heredoc i Nowdoc. Przydają się one, gdy mamy jakiś długi, wieloliniowy tekst. Heredoc zachowuje się jak string w cudzysłowie (czyli można tam wstawić np. zmienne, które zostaną zinterpretowane), a Nowdoc jak zapis z apostrofami.

Poprzednia lekcja Następna lekcja

Udostępnij

  • Facebook
  • Twitter

Komentarze