![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przerabiam sobie właśnie książeczkę z przykładowymi testami do ZCE i natrafiłem na pewną niejasność. Jest takie pytnianie: What will the following script output? Prawidłowa odpowiedź to: 245 Zgadza się, z tym że wyjaśnienie już jest dla mnie nie do końca jasne: The concatenation operator has a higher precenedce than the addition operator. Therefore, PHP will interpret this expression as if it were written ('Testing' . 1) + (2 . '45'). I tutaj mam wątpliwości, bo wg manuala obydwa te operatory mają taki sam priorytet i decyduje kolejność ich występowania w wyrażeniu, czyli PHP chyba interpretuje to w ten sposób: 1) 'Testing ' . 1 => 'Testing 1' 2) 'Testing 1' + 2 => 2 3) 2 . '45' => '245' Czy może mi ktoś wytłumaczyć o co chodziło autorowi? (IMG:style_emoticons/default/smile.gif) Czy może po prostu aż tak się pomylił? Z góry dzięki. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
W tym przypadku do stringa czyli Testing dołączasz 1 ponieważ kropka powoduję łączenie i wychodzi 'Testing 1' potem do tego dodajesz 2 a ze do tekstu nie można dodać to wychodzi 2 i do dwójki dołączasz string 45 to wychodzi 245 tutaj to samo 'Testing ' . 1 => 'Testing 1' Do Testing za pomocą kropki łączysz 1 i wychodzi Testing 1 tutaj 'Testing 1' + 2 => 2 wychodzi 2 ponieważ 'Testing 1' to nie liczba i dla tego 2 tutaj 2 . '45' => '245' wychodzi 245 ponieważ do 2 łączysz string '45' Ten post edytował kefirek 13.02.2012, 13:52:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 13:24 |