mirror of
https://github.com/php/doc-es.git
synced 2026-03-23 23:12:09 +01:00
114 lines
2.9 KiB
XML
114 lines
2.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 43d07782b514d0c7a8487f2c74063739f302df8d Maintainer: PhilDaiguille Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<sect1 xml:id="language.operators.logical">
|
|
<title>Los operadores lógicos</title>
|
|
<titleabbrev>Lógica</titleabbrev>
|
|
|
|
<table>
|
|
<title>Los operadores lógicos</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Ejemplo</entry>
|
|
<entry>Nombre</entry>
|
|
<entry>Resultado</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>$a and $b</entry>
|
|
<entry>And (Y)</entry>
|
|
<entry>&true; si <varname>$a</varname> Y <varname>$b</varname> valen &true;.</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$a or $b</entry>
|
|
<entry>Or (O)</entry>
|
|
<entry>&true; si <varname>$a</varname> O <varname>$b</varname> valen &true;.</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$a xor $b</entry>
|
|
<entry>XOR</entry>
|
|
<entry>
|
|
&true; si <varname>$a</varname> O <varname>$b</varname> es &true;,
|
|
pero no ambos a la vez.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>! $a</entry>
|
|
<entry>Not (No)</entry>
|
|
<entry>&true; si <varname>$a</varname> no es &true;.</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$a && $b</entry>
|
|
<entry>And (Y)</entry>
|
|
<entry>&true; si <varname>$a</varname> Y <varname>$b</varname> son &true;.</entry>
|
|
</row>
|
|
<row>
|
|
<entry>$a || $b</entry>
|
|
<entry>Or (O)</entry>
|
|
<entry>&true; si <varname>$a</varname> O <varname>$b</varname> es &true;.</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
<simpara>
|
|
La razón por la cual existen dos tipos de "Y" y de "O"
|
|
es que tienen diferentes prioridades. Ver el
|
|
párrafo
|
|
<link linkend="language.operators.precedence">precedencia de operadores</link>.
|
|
</simpara>
|
|
<example>
|
|
<title>Ilustración de los operadores lógicos</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
|
|
// --------------------
|
|
// foo() nunca será llamada, ya que estos operadores se anulan
|
|
|
|
$a = (false && foo());
|
|
$b = (true || foo());
|
|
$c = (false and foo());
|
|
$d = (true or foo());
|
|
|
|
// --------------------
|
|
// "||" tiene una precedencia superior a "or"
|
|
|
|
// El resultado de la expresión (false || true) es asignado a $e
|
|
// Actúa como: ($e = (false || true))
|
|
$e = false || true;
|
|
|
|
// La constante false es asignada a $f antes de que aparezca la operación "or"
|
|
// Actúa como: (($f = false) or true)
|
|
$f = false or true;
|
|
|
|
var_dump($e, $f);
|
|
|
|
// --------------------
|
|
// "&&" tiene una precedencia superior a "and"
|
|
|
|
// El resultado de la expresión (true && false) es asignado a $g
|
|
// Actúa como: ($g = (true && false))
|
|
$g = true && false;
|
|
|
|
// La constante true es asignada a $h antes de que aparezca la operación "and"
|
|
// Actúa como: (($h = true) and false)
|
|
$h = true and false;
|
|
|
|
var_dump($g, $h);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs.similar;
|
|
<screen>
|
|
<![CDATA[
|
|
bool(true)
|
|
bool(false)
|
|
bool(false)
|
|
bool(true)
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</sect1>
|