El documento describe los diferentes tipos de operadores lógicos y de asignación en PHP. Explica que los operadores lógicos como AND, OR y XOR se usan para evaluar si un valor cumple o no con ciertas condiciones. También describe los operadores de asignación como =, += y .=, los cuales asignan valores a variables. Por último, explica que la asignación normal copia valores, mientras que la asignación por referencia hace que variables apunten a los mismos datos sin copiarlos.
1. Alumno: Albarrán P. Jonathan I. C.I. 19.688.773
Informática f01
Operadores Lógicos
Los operadores lógicos son de extrema utilidad a la hora de decidir si un valor y otro o
un valor u otro, cumplen con ciertas condiciones. De nuevo, la utilidad de estos
operadores los veremos cuando veamos las estructuras de control. En PHP, los
operadores lógicos son los siguientes:
Ejemplo Nombre Resultado
$a and $b Y
Cierto sólo si $a y $b son
ciertos
$a or $b O
Cierto si $a ó $b ó ambos
son ciertos
$a xor $b O exclusiva
Cierto si $a ó $b son ciertos,
pero no si ambos son
ciertos a la vez
!$a Negación Cierto si $a no es cierto
$a&&$b Y
Cierto sólo si $a y $b son
ciertos
$a||$b O
Cierto si $a ó $b ó ambos
son ciertos
2. Los más sencillos son (nótese su relación con los operadores relacionales):
Operador NO-lógico: '¬A' significa todo lo que no es A'
Operador Y-lógico: 'A ∧ B' significa 'A y B a la vez'; resultando FALSO (0) si
no se cumple y VERDADERO (1) si sí lo hace.
Operador O-lógico: 'A ∨ B' significa 'O bien A, o bien B, o bien los dos';
resultando FALSO (0) si no se dan ni A ni B y VERDADERO (1) si se da alguno
de los dos o los dos a la vez.
Operador =: 'A = B' significa 'A debe ser igual a B'; resultando FALSO (0) si
esto no es así y VERDADERO (1) en caso contrario.
Operador <: 'A < B' significa 'A debe ser menor que B'; resultando FALSO (0)
si no se satisface y VERDADERO (1) en caso contrario.
Operador >: 'A > B' significa 'A debe ser mayor que B'; resultando FALSO (0)
si no se satisface y VERDADERO (1) en caso contrario.
Los operadores más complejos se construyen a partir de los anteriores
(podría incluirse alguno más) y ya entran dentro de lo que sería una
función lógica. Un ejemplo muy utilizado sería 'SI(condición;A;B)' ('IF
condición THEN A ELSE B' en la mayoría de los lenguajes de programación)
cuyo resultado sería A si se satisface la 'condición' o B en caso contrario.
3. Operadores de asignación
El operador básico de asignación es "=". Se podría inclinar a pensar primero que es como un "igual a".
No lo es. Realmente significa que el operando de la izquierda se establece con el valor de la expresión
de la derecha (es decir, "se define como").
El valor de una expresión de asignación es el valor asignado. Es decir, el valor de "$a = 3" es de 3. Esto
permite hacer algunas cosas intrincadas:
<?php
$a = ($b = 4) + 5; // ahora $a es igual a 9 y $b se ha establecido en 4.
?>
Para arrays, asignar un valor a una clave con nombre se realiza utilizando el operador "=>". La precedencia
de este operador es la misma que otros operadores de asignación. Además del operador básico de
asignación, existen "operadores combinados" para todos los de aritmética binaria, unión de arrays y
operadores de strings que permiten usar un valor en una expresión y entonces establecer su valor como el
resultado de esa expresión. Por ejemplo:
<?php
$a = 3;
$a += 5; // establece $a en 8, como si se hubiera dicho: $a = $a + 5;
$b = "Hola ";
$b .= "ahí!"; // establece $b en "Hola ahí!", al igual que $b = $b . "ahí!";
?>
Observe que la asignación copia la variable original en la nueva (asignación por valor), por lo que los
cambios en una no afectarán a la otra. Esto también puede tener relevancia si se necesita copiar algo como
un gran array dentro de un bucle estrecho.
Una excepción al comportamiento usual de la asignación por valor en PHP ocurre con objects los cuales son
asignados por referencia en PHP 5. Los objetos pueden ser explícitamente copiados por medio de la palabra
clave clone.
4. Asignación por referencia
La asignación por referencia también está soportada, utilizando la sintaxis
"$var = &$othervar;". Asignación por referencia significa que ambas variables
terminan apuntando a los mismos datos y nada es copiado en ninguna parte.