|
1 | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | | -<!-- EN-Revision: a7428462fea1c0387cf5e8473b4c48c3c8ac8c2c Maintainer: PhilDaiguille Status: ready --> |
| 2 | +<!-- EN-Revision: 80dfa568e602649eb13585bf59a7b6239eddaac3 Maintainer: PhilDaiguille Status: ready --> |
3 | 3 | <!-- Reviewed: no --> |
4 | 4 | <sect1 xml:id="language.operators.precedence"> |
5 | 5 | <title>La prioridad de los operadores</title> |
|
295 | 295 | </tgroup> |
296 | 296 | </table> |
297 | 297 | </para> |
| 298 | + <note> |
| 299 | + <simpara> |
| 300 | + Los operadores unarios que comparten la fila con los operadores de conversión |
| 301 | + (<literal>~</literal>, <literal>@</literal>, y <literal>+</literal>/<literal>-</literal> |
| 302 | + unarios) tienen mayor prioridad que <literal>instanceof</literal>, mientras que |
| 303 | + <literal>!</literal> tiene menor prioridad. En consecuencia, |
| 304 | + <literal>(int) $x instanceof Foo</literal> se agrupa como |
| 305 | + <literal>((int) $x) instanceof Foo</literal>, mientras que |
| 306 | + <literal>!$x instanceof Foo</literal> se agrupa como |
| 307 | + <literal>!($x instanceof Foo)</literal>. |
| 308 | + </simpara> |
| 309 | + </note> |
298 | 310 | <para> |
299 | 311 | <example> |
300 | 312 | <title>Asociatividad</title> |
@@ -409,6 +421,15 @@ x menos uno es igual 3, en todo caso espero |
409 | 421 | Aunque <literal>=</literal> tiene prioridad sobre la mayoría de los operadores, PHP ejecutará expresiones como: <literal>if (!$a = foo())</literal>. |
410 | 422 | En esta situación, el resultado de <literal>foo()</literal> será colocado en la variable <varname>$a</varname>. |
411 | 423 | </para> |
| 424 | + <simpara> |
| 425 | + Esto es posible porque el lado izquierdo de una asignación debe ser una |
| 426 | + variable, por lo que la asignación se agrupa con esa variable en lugar de con |
| 427 | + el operador prefijo circundante de mayor prioridad. Lo mismo se aplica a los |
| 428 | + demás operadores prefijos que toman una expresión como operando, como |
| 429 | + <literal>clone</literal>, los operadores de conversión, <literal>@</literal> y |
| 430 | + <literal>~</literal>: por ejemplo, <literal>clone $a = $b</literal> se agrupa |
| 431 | + como <literal>clone ($a = $b)</literal>, no como <literal>(clone $a) = $b</literal>. |
| 432 | + </simpara> |
412 | 433 | </note> |
413 | 434 | <sect2 role="changelog"> |
414 | 435 | &reftitle.changelog; |
|
0 commit comments