![]() |
![]() |
![]()
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: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
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ść When operators have equal precedence, their associativity decides whether they are evaluated starting from the right, or starting from the left ... Kiedy operatory mają równe pierwszeństwo o ich zespoleniu decyduje czy są ewaluowane od prawej czy od lewej .. I wedle tabelki: Zespolenie | Operatory lewa | + - . Ten post edytował rocktech.pl 13.02.2012, 14:01:57 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 11:43 |