|
1 | | -<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: a7428462fea1c0387cf5e8473b4c48c3c8ac8c2c Maintainer: leonardolara Status: ready --><!-- CREDITS: ae, leonardolara --> |
| 1 | +<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 80dfa568e602649eb13585bf59a7b6239eddaac3 Maintainer: leonardolara Status: ready --><!-- CREDITS: ae, leonardolara --> |
2 | 2 | <sect1 xml:id="language.operators.precedence"> |
3 | 3 | <title>Precedência de Operadores</title> |
4 | 4 | <titleabbrev>Precedência de Operadores</titleabbrev> |
|
63 | 63 | <row> |
64 | 64 | <entry>direita</entry> |
65 | 65 | <entry><literal>**</literal></entry> |
66 | | - <entry><link linkend="language.operators.arithmetic">aritmética</link></entry> |
| 66 | + <entry><link linkend="language.operators.arithmetic">aritmético</link></entry> |
67 | 67 | </row> |
68 | 68 | <row> |
69 | 69 | <entry>(não aplicável)</entry> |
|
84 | 84 | <entry> |
85 | 85 | <link linkend="language.operators.arithmetic">aritméticos</link> (unário <literal>+</literal> e <literal>-</literal>), |
86 | 86 | <link linkend="language.operators.increment">incremento/decremento</link>, |
87 | | - <link linkend="language.operators.bitwise">bitwise</link>, |
88 | | - <link linkend="language.types.typecasting">type cast</link>&listendand; |
| 87 | + <link linkend="language.operators.bitwise">binário</link>, |
| 88 | + <link linkend="language.types.typecasting">conversão de tipo</link>&listendand; |
89 | 89 | <link linkend="language.operators.errorcontrol">controle de erro</link> |
90 | 90 | </entry> |
91 | 91 | </row> |
92 | 92 | <row> |
93 | 93 | <entry>esquerda</entry> |
94 | 94 | <entry><literal>instanceof</literal></entry> |
95 | 95 | <entry> |
96 | | - <link linkend="language.operators.type">tipos</link> |
| 96 | + <link linkend="language.operators.type">tipo</link> |
97 | 97 | </entry> |
98 | 98 | </row> |
99 | 99 | <row> |
100 | 100 | <entry>(não aplicável)</entry> |
101 | 101 | <entry><literal>!</literal></entry> |
102 | 102 | <entry> |
103 | | - <link linkend="language.operators.logical">lógicos</link> |
| 103 | + <link linkend="language.operators.logical">lógico</link> |
104 | 104 | </entry> |
105 | 105 | </row> |
106 | 106 | <row> |
|
111 | 111 | <literal>%</literal> |
112 | 112 | </entry> |
113 | 113 | <entry> |
114 | | - <link linkend="language.operators.arithmetic">aritmética</link> |
| 114 | + <link linkend="language.operators.arithmetic">aritméticos</link> |
115 | 115 | </entry> |
116 | 116 | </row> |
117 | 117 | <row> |
|
122 | 122 | <literal>.</literal> |
123 | 123 | </entry> |
124 | 124 | <entry> |
125 | | - <link linkend="language.operators.arithmetic">aritmética</link> (binário <literal>+</literal> e <literal>-</literal>), |
| 125 | + <link linkend="language.operators.arithmetic">aritméticos</link> (binário <literal>+</literal> e <literal>-</literal>), |
126 | 126 | <link linkend="language.operators.array">array</link>&listendand; |
127 | 127 | <link linkend="language.operators.string">string</link> (<literal>.</literal> anteriormente ao PHP 8.0.0) |
128 | 128 | </entry> |
|
134 | 134 | <literal>>></literal> |
135 | 135 | </entry> |
136 | 136 | <entry> |
137 | | - <link linkend="language.operators.bitwise">bits</link> |
| 137 | + <link linkend="language.operators.bitwise">binários</link> |
138 | 138 | </entry> |
139 | 139 | </row> |
140 | 140 | <row> |
|
181 | 181 | <entry>esquerda</entry> |
182 | 182 | <entry><literal>&</literal></entry> |
183 | 183 | <entry> |
184 | | - <link linkend="language.operators.bitwise">bits</link>&listendand; |
| 184 | + <link linkend="language.operators.bitwise">binário</link>&listendand; |
185 | 185 | <link linkend="language.references">referências</link></entry> |
186 | 186 | </row> |
187 | 187 | <row> |
188 | 188 | <entry>esquerda</entry> |
189 | 189 | <entry><literal>^</literal></entry> |
190 | 190 | <entry> |
191 | | - <link linkend="language.operators.bitwise">bits</link> |
| 191 | + <link linkend="language.operators.bitwise">binário</link> |
192 | 192 | </entry> |
193 | 193 | </row> |
194 | 194 | <row> |
195 | 195 | <entry>esquerda</entry> |
196 | 196 | <entry><literal>|</literal></entry> |
197 | 197 | <entry> |
198 | | - <link linkend="language.operators.bitwise">bits</link> |
| 198 | + <link linkend="language.operators.bitwise">binário</link> |
199 | 199 | </entry> |
200 | 200 | </row> |
201 | 201 | <row> |
202 | 202 | <entry>esquerda</entry> |
203 | 203 | <entry><literal>&&</literal></entry> |
204 | 204 | <entry> |
205 | | - <link linkend="language.operators.logical">lógicos</link> |
| 205 | + <link linkend="language.operators.logical">lógico</link> |
206 | 206 | </entry> |
207 | 207 | </row> |
208 | 208 | <row> |
209 | 209 | <entry>esquerda</entry> |
210 | 210 | <entry><literal>||</literal></entry> |
211 | 211 | <entry> |
212 | | - <link linkend="language.operators.logical">lógicos</link> |
| 212 | + <link linkend="language.operators.logical">lógico</link> |
213 | 213 | </entry> |
214 | 214 | </row> |
215 | 215 | <row> |
216 | 216 | <entry>direita</entry> |
217 | 217 | <entry><literal>??</literal></entry> |
218 | 218 | <entry> |
219 | | - <link linkend="language.operators.comparison.coalesce">null coalescing</link> |
| 219 | + <link linkend="language.operators.comparison.coalesce">coalescência nula</link> |
220 | 220 | </entry> |
221 | 221 | </row> |
222 | 222 | <row> |
|
300 | 300 | </tgroup> |
301 | 301 | </table> |
302 | 302 | </para> |
| 303 | + <note> |
| 304 | + <simpara> |
| 305 | + Os operadores unários que compartilham a linha com os operadores de conversão |
| 306 | + (<literal>~</literal>, <literal>@</literal>, e os unários |
| 307 | + <literal>+</literal>/<literal>-</literal>) se ligam com mais força que |
| 308 | + <literal>instanceof</literal>, enquanto que <literal>!</literal> se liga com menos |
| 309 | + força. Consequentemente, <literal>(int) $x instanceof Foo</literal> é agrupado |
| 310 | + como <literal>((int) $x) instanceof Foo</literal>, enquanto que |
| 311 | + <literal>!$x instanceof Foo</literal> é agrupado como |
| 312 | + <literal>!($x instanceof Foo)</literal>. |
| 313 | + </simpara> |
| 314 | + </note> |
303 | 315 | <para> |
304 | 316 | <example> |
305 | 317 | <title>Associação</title> |
@@ -420,6 +432,15 @@ x menos um é igual a 3, ou assim eu espero |
420 | 432 | onde o valor retornado de <literal>foo()</literal> é |
421 | 433 | colocado em <varname>$a</varname>. |
422 | 434 | </para> |
| 435 | + <simpara> |
| 436 | + Isso é possível porque o lado esquerdo de uma atribuição deve ser uma |
| 437 | + variável, portanto a atribuição é agrupada com essa variável em vez de com |
| 438 | + o operador de prefixo de precedência superior circundante. O mesmo se aplica aos |
| 439 | + outros operadores de prefixo que recebem um operando de expressão, tal como |
| 440 | + <literal>clone</literal>, os operadores de conversão, <literal>@</literal> e |
| 441 | + <literal>~</literal>: por exemplo, <literal>clone $a = $b</literal> é agrupado |
| 442 | + como <literal>clone ($a = $b)</literal>, e não <literal>(clone $a) = $b</literal>. |
| 443 | + </simpara> |
423 | 444 | </note> |
424 | 445 | <sect2 role="changelog"> |
425 | 446 | &reftitle.changelog; |
|
0 commit comments