Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]print(1), zagadka
L0k0
post
Post #1





Grupa: Zarejestrowani
Postów: 161
Pomógł: 4
Dołączył: 18.03.2011

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


Witam!

Programuję już trochę ale dziś zobaczyłem coś dość dziwnego. Będąc w zaprzyjaźnionej firmie kolega zadał mi pytanie:

Jaki jest wynik działania funkcji:
  1. echo '1'.(print'2')+3;


W pierwszym momencie pomyślałem o błędzie (string + int ...). Jednak okazało się, że wynikiem jest... 214.

Wróciłem do domu, sprawdziłem i rzeczywiście. Co dziwniejsze, okazało się ,że funkcja print działa 'dziwnie' i nie mogę za bardzo namierzyć w necie dlaczego.

Otóż dla
wynikiem jest... 11, dla
  1. echo print('1');
również! W ogóle dla stringów daje mi 11 a dla int'ów int + 1 (dla 2 jest to 21).

O co z tym chodzi?

Pozdrawiam!

Ten post edytował L0k0 2.04.2014, 14:58:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





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

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


W dokumentacji masz wszystko napisane: print - funkcja (czy właściwie konstrukcja) ta wyświetla to co poda się jako jej argument oraz zwraca wartość "1" (int), która to jest później wyświetlana przez Twoje echo.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 21:38