Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wyświetlanie wartości zmiennych, Jaka jest różnica między echo ('....'); a echo '....';
UrzadPracy
post 14.03.2010, 22:51:42
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.03.2010

Ostrzeżenie: (0%)
-----


Witam ponownie!
Mam kolejne pytanie z działu "żłobek". party.gif

Ponownie pragnę zaznaczyć, że dopiero się uczę.

Jaka jest różnica pomiędzy:

  1. echo ('Wartością $liczba jest ', $liczba, ' to już wszystko');


, a

  1. echo 'Wartością $liczba jest ', $liczba, ' to już wszystko';


?

Poza tą różnicą, że poprawnie wyświetla się jedynie drugi przypadek i dlaczego tak się dzieje, że tylko jeden sposób wyświetla?



--------------------
"Pamiętaj - manual na php.net to podstawa (...)"
Go to the top of the page
+Quote Post
blooregard
post 14.03.2010, 23:59:52
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Dlaetgo, że echo to nie funkcja tylko konstrukcja językowa i jako taka nie wymaga uzycia nawiasów, co zresztą masz czarno na niebieskim w dokumentacji:
Cytat
echo() is not actually a function (it is a language construct), so you are not required to use parentheses with it. echo() (unlike some other language constructs) does not behave like a function, so it cannot always be used in the context of a function. Additionally, if you want to pass more than one parameter to echo(), the parameters must not be enclosed within parentheses.


Do echo nie można również przekazywać zmiennych jako argumentów w momencie, gdy jednak tych nawiasów użyjesz, co też jest czarno na niebieskim w dokumentacji:
Cytat
Informacja: Ponieważ jest to element składni języka a nie funkcja, nie może być on wywoływany używając zmiennych funkcji


http://pl2.php.net/echo
Cytat
Ponownie pragnę zaznaczyć, że dopiero się uczę.

Ponownie pragnę zaznaczyć, że ucząc się powinieneś korzystać z manuala na php.net.




--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
UrzadPracy
post 15.03.2010, 08:58:29
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.03.2010

Ostrzeżenie: (0%)
-----


Dziękuję za wszystkie informacje. Są bardzo pomocne i rozjaśniają mi wiele. party.gif
Cytat
Ponownie pragnę zaznaczyć, że ucząc się powinieneś korzystać z manuala na php.net.


Uczę się przede wszystkim z książki "Praktyczny kurs PHP5", Marcina Lisa, co oczywiście nie zwalnia mnie z korzystania zasobów, ale nie wiedziałam gdzie, takowe dokładnie istnieją. Tym bardziej dziękuję za sugestię.
Z drugiej strony zdaję sobie sprawę, ze nie wszystko będę potrafiła tak fantastycznie znaleźć jak Wy koledzy. Nie mam wystarczającej wiedzy i umiejętności. Dlatego mam nadzieję, że jeszcze mi kiedyś pomożecie i rozjaśnicie. Ze swojej strony obiecuję, bardziej się postaram.

Pozdrawiam i polecam się na przyszłość. party.gif

Ten post edytował UrzadPracy 15.03.2010, 09:01:13


--------------------
"Pamiętaj - manual na php.net to podstawa (...)"
Go to the top of the page
+Quote Post
blooregard
post 15.03.2010, 09:42:16
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
Z drugiej strony zdaję sobie sprawę, ze nie wszystko będę potrafiła tak fantastycznie znaleźć jak Wy koledzy.

Spokojnie, pomożemy smile.gif
Pamiętaj - manual na php.net to podstawa (przyda się znajomość angielskiego, choć część dokumentacji jest dostępna po polsku)

Praktyczna rzecz: jeśli szukasz opisu jakiejś funkcji na php.net, wpisz w pasku adresu:
Cytat
php.net/nawza_funkcji

a zostaniesz automatycznie przekierowana na stronę z odpowiednią treścią.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
UrzadPracy
post 15.03.2010, 12:04:38
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.03.2010

Ostrzeżenie: (0%)
-----


W dobie translatorów i słowników internetowych angielski nie powinien aż tak bardzo mi utrudnić.
A jak utrudni to przybędę tutaj. party.gif

Zapamiętam - manual na php.net to podstawa i najpierw tam będę się udawała w razie wątpliwości.

Jeszcze raz wielkie dzięki! party.gif


--------------------
"Pamiętaj - manual na php.net to podstawa (...)"
Go to the top of the page
+Quote Post
biometr
post 15.03.2010, 13:54:18
Post #6





Grupa: Zarejestrowani
Postów: 1
Pomógł: 1
Dołączył: 15.03.2010
Skąd: Od niej!

Ostrzeżenie: (0%)
-----


Witaj, przecinki w zapisie
  1. echo 'Wartością $liczba jest ', $liczba, ' to już wszystko';
Oznaczają kolejne elementy do wyświetlenia gdzie każdy element wyświetlany jest osobno i nie ma nic wspólnego z pozostałymi.
Więc ten zapis wyżej jest równoznaczny z zapisem :
  1. echo 'Wartością $liczba jest ';
  2. echo $liczba;
  3. echo ' to już wszystko';


Bardzo łatwo można to udowodnić na dwóch przykładach:
  1. echo 'Jestem tekstem ktory zostanie wyswietlony bo jestem osobnym elementem, który jest wyswietlany osobno i nie mam nic wspolnego z elementem drugim ktory jest blędny' , blad();

A tu drugi przykład z kropką:
  1. echo 'Jestem tekstem, ktory sie nie wyswietli bo blednie zostalem polaczony z wynikiem funkcji ktora nie istnieje - wyswietlony zostanie blad zamiast tego tekstu' . blad();


A teraz odpowiedź na pytanie:
Echo przyjmuje tylko jeden parametr (który będzie wyświetlony) więc błędny jest zapis typu echo(1,2,3); gdzie przecinek służy jako rozdzielanie poszczególnych parametrów. Natomiast zapis echo 1,2,3; bez nawiasów już jest poprawny, bo przecinek tutaj rozdziela poszczególne elementy które są wyświetlane POJEDYNCZO i osobno każdy! Czyli Echo(); otrzymuje zawsze po jednym parametrze i go wyświetla i wszystko działa.

Ten post edytował biometr 15.03.2010, 14:35:38


--------------------

Pamiętaj! Nie jesteś anonimowy!
Go to the top of the page
+Quote Post
UrzadPracy
post 15.03.2010, 15:52:18
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.03.2010

Ostrzeżenie: (0%)
-----


O kurcze, niezły wykład! ohmy.gif

Wielkie dzięki! Po dwukrotnym przeczytaniu już wiem o co chodzi!

Tylko, do licha, czemu mi książka takich rzeczy nie wyjaśnia? mad.gif

Jeszcze raz, bardzo dziękuję biometr! party.gif


--------------------
"Pamiętaj - manual na php.net to podstawa (...)"
Go to the top of the page
+Quote Post
gargamel
post 11.12.2010, 16:56:55
Post #8





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

Ostrzeżenie: (0%)
-----


Trochę się podłączę pod temat.
Jaka może być przyczyna nieprawidłowego wyświetlania takiego kawałku kodu:

  1. echo "Wynikiem jest:".jakasFunkcja($par1, $par2, par3)."jednostek.";


Nieprawidłowe wyświetlanie polega na tym że echuje mi najpierw tekst który jest wynikiem jakasFunkcja($par1, $par2, par3), a później resztę.
Czyli tak jakbym napisał
  1. echo jakasFunkcja($par1, $par2, par3)."Wynikiem jest: jednostek.";


Jeśli to nie za wiele mówi, to postaram się podać jakiś bardziej konkretny przykład.
Go to the top of the page
+Quote Post
Wicepsik
post 11.12.2010, 17:02:47
Post #9





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. echo "Wynikiem jest:".jakasFunkcja($par1, $par2, "par3")."jednostek.";



--------------------
Go to the top of the page
+Quote Post
gargamel
post 11.12.2010, 17:06:59
Post #10





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

Ostrzeżenie: (0%)
-----


Oczywiście wpisuję
  1. echo "Wynikiem jest:".jakasFunkcja($par1, $par2, $par3)."jednostek.";

(pisząc tu w temacie zapomniałem wstawić dolara jedynie)
Go to the top of the page
+Quote Post
Crozin
post 11.12.2010, 17:11:48
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Taki zapis jest jak najbardziej poprawny - błąd jest gdzie indziej.
Go to the top of the page
+Quote Post
gargamel
post 11.12.2010, 17:16:30
Post #12





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

Ostrzeżenie: (0%)
-----


O to mi chodziło. Więc problemem będzie "jakasFunkcja"
Pozdro!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.05.2025 - 17:55