Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] cudzysłów a apostrof
Forum PHP.pl > Forum > Przedszkole
Krisu
Już od dłuższego czasu zastanawiam się nad jednym problemem.

Czego tak naprawdę powinno się używać w kodzie programu?

Kod
cudzysłów " or apostrof '


Z tego co czytałem (mogę się mylić), to PHP interpretuje ciągi zawarte między " " jako zawartość w której występuje zmienna. Co w nadmiarze prowadzi co zbędnego obciążania serwera.

W takim razie do czego służą apostrofy i czemu program dziła jeśli po znaku = wpiszemy bezpośrednio zmienną lub ciąg znaków, nie używając w/w znaków?

Czemu najczęściej wykorzystywanym znakiem jest cudzysłów?
Elber
Hmm...może tak to co jest pomiędzy "cudzysłowem" w php się wykona, a to co jest w apostrofach 'lala' się wyświetli na ekranie czyli np.
  1. <?php
  2. $test="jakiś tekst";
  3. echo"$test";
  4. ?>

Teraz wyświetli Ci się na ekranie jakiś tekst

  1. <?php
  2. $test="jakiś tekst";
  3. echo'$test';
  4. ?>

A teraz wyświetli CI sie na ekranie $test

Pozdr0
Crozin
Kod pomiędzy apostrofami jest trkatowany dosłownie:
  1. <?php
  2. $zmienna = 'ala ma kota';
  3. echo 'To jest jakiś tekst $zmienna z jakimiś \n\tbzdetami';
  4. ?>
Wyswietli:
Kod
To jest jakiś tekst $zmienna z jakimiś \n\tbzdetami
Natomiast:
  1. <?php
  2. $zmienna = 'ala ma kota';
  3. echo "To jest jakiś tekst $zmienna z jakimiś \n\tbzdetami";
  4. ?>
Wyświetli:
Kod
To jest jakiś tekst ala ma kota z jakimiś
    bzdetami


Jednak trzeba pamiętać, że tekst w apostrofach jest nieco szybciej "czytany" przez interpreter PHP (gdyż ten nie musi w nim szukać zmiennych czy znaków specialnych) - jest to jednak naprawdę sprawa dziesięcio/stu tysięcznych sekundy

PS. Ja osobiście używam apostrfów winksmiley.jpg
Krisu
Rozwinę swoje pytanie o pewien kod:
  1. <?php
  2. echo "<input size='96' class='input' type='text' value=''>";
  3. ?>

  1. <?php
  2. <a href=' . $path_url . $url .' target=&#092;'_blank'>link</a>
  3. ?>


Czy oba sposoby wyświetlania zawartości są poprawne? Czy mają jakieś większe znaczenie?

Cytat(Crozin @ 9.04.2008, 19:43:30 ) *
Jednak trzeba pamiętać, że tekst w apostrofach jest nieco szybciej "czytany" przez interpreter PHP (gdyż ten nie musi w nim szukać zmiennych czy znaków specialnych) - jest to jednak naprawdę sprawa dziesięcio/stu tysięcznych sekundy

PS. Ja osobiście używam apostrfów winksmiley.jpg


Dzięki, za wyjaśnienie, i potwierdzenie moich przekonań.
l0ud
Należy unikać stosowania cudzysłowów w swoich programach. Wszystko da się zrealizować za pomocą apostrofów i łączenia ciągów, poza tym kod staje się bardziej czytelny, bo składnia jest prawidłowo kolorowana. Wzrost wydajności pewnie nie jest znaczny, ale jednak jest winksmiley.jpg
Crozin
A co do czytelności... czasami jednak użycie cudzysłowi jest bardziej czytelne - głównie, gdy w tekscie chcemy użyć apostrofów (odwrótnie jest, gdy chcemy użyć cudzysłowi)
  1. <?php
  2. $zmienna = "to est' jakis 's dziwn'y tekst - sk'ad tu ty'e apostro'f'ow?";
  3. ?>
  1. <?php
  2. $zmienna = 'to est' jakis 's dziwn'y tekst - sk'ad tu ty'e apostro'f'ow?';
  3. ?>
Już tu widać różnice... a co jeżeli w tekście mają być znaki specialne? Wtedy to już kompletny sajgon :-P
Cytat
bo składnia jest prawidłowo kolorowana
PSPad radzi sobie i z tym (jeżeli masz zmienną w cudzysłowiach to jest ona kolorowana inaczej)
l0ud
Crozin, z czasem zaczniesz osadzać takie ciągi w plikach językowych, a kod html w szablonach smile.gif Wtedy to nie będzie przeszkadzać smile.gif
Krisu
Dzięki smile.gif Rozwialiście moje wątpliwości. Pozdrawiam winksmiley.jpg
Crozin
Żeby nie było - ja sobie umiem zadbać o czytelny i elastyczny kod winksmiley.jpg

Mimo wszystko zawsze może powstać sytuacja, gdzie ciag może być nieczytelny - jednak zawsze powinno się używać apostrofów - ot taki dobry nawyk
Itep
Bardziej przekonały mnie argumenty mówiące o tym, że lepiej używać cudzysłowu. Nie generuje on wielkiego obciążenia dla serwera, a dla początkującego jest prostszy w użyciu, tak? smile.gif

E: Ok, nie ma co kombinować. Lepiej od razu nauczyć się tak, jak być powinno.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.