Si es este tu primer contacto con el mundo de la programación es probable que estés pensando que todo esto está muy bien pero que a tí lo que te interesa es hacer cosas. En una palabra, que quieres usar PHP como herramienta para el desarrollo de tus proyectos.
Esta página y las siguientes van a ser básicas para el éxito en ese lógico y razonable afán utilitarista.
Pensemos en nuestro día a día. En cada momento de nuestra vida hacemos algo. Cada cosa que hacemos suele requerir casi siempre esta secuencia de acciones: comparar, evaluar, optar y hacer.
Supongamos que queremos cambiar de coche. Lo más prudente será empezar por comparar las características (potencia, diseño, precio, etc.) de los diferentes modelos.
Salvo en casos excepcionales, no tomaríamos una decisión de compra a través de un solo parámetro sino que haríamos una evaluación conjunta de todos esos factores (menos potencia pero mejor precio y diseño muy similar, por citar un ejemplo) y sería a través de esa evaluación como optaría- mos por una marca o modelo.
Una vez ejercida la opción –y no antes– sería el momento de realizar la compra del nuevo coche.
PHP, y en general todos los lenguajes de programación, disponen de herramientas que permiten emular cada uno de esos procesos de la conducta humana. Los iremos viendo en esta página y en las siguientes.
Operadores de comparación
PHP dispone de los siguientes operadores de comparación:
$A == $B
El operador == compara los valores de dos variables y devuelve 1 (CIERTO) en el caso de que sean iguales y el valor NUL –carácter ASCII 0– (FALSO) cuando son distintas.
Mediante este operador se pueden comparar variables de distinto tipo.
Para comparar una cadena con un número se extrae el valor entero de la cadena (si lleva dígitos al comienzo los extrae y en caso contrario le asigna el valor cero) y utiliza ese valor para hacer la comparación.
Cuando se comparan cadenas discrimina entre mayúsculas y minúsculas ya que utiliza los códigos ASCII de cada uno de los caracteres para hacer la comparación.
La comparación se hace de izquierda a derecha y devuelve 1 (CIERTO) sólo en el caso que coincidan exactamente los contenidos de ambas cadenas.
$A === $B
El operador === es similar al anterior, pero realiza la compa- ración en sentido estricto.
Para que devuelva 1 es necesario que sean iguales los valores de las variables y también su tipo.
$A != $B
El operador != devuelve 1 cuando los valores de las variables son distintos (en general ! indica negación, en este caso podríamos leer «no igual») y devuelve NUL cuando son iguales.
Este operador no compara en sentido estricto, por lo que puede considerar iguales los valores de dos variables de distinto tipo.
$A < $B
El operador < style="text-align: justify;">
$A <= $B
Se comporta de forma idéntica al anterior. La única diferencia es que ahora aceptará como ciertos los casos de igualdad tanto en el caso de números como en el de códigos ASCII.
Esta página y las siguientes van a ser básicas para el éxito en ese lógico y razonable afán utilitarista.
Pensemos en nuestro día a día. En cada momento de nuestra vida hacemos algo. Cada cosa que hacemos suele requerir casi siempre esta secuencia de acciones: comparar, evaluar, optar y hacer.
Supongamos que queremos cambiar de coche. Lo más prudente será empezar por comparar las características (potencia, diseño, precio, etc.) de los diferentes modelos.
Salvo en casos excepcionales, no tomaríamos una decisión de compra a través de un solo parámetro sino que haríamos una evaluación conjunta de todos esos factores (menos potencia pero mejor precio y diseño muy similar, por citar un ejemplo) y sería a través de esa evaluación como optaría- mos por una marca o modelo.
Una vez ejercida la opción –y no antes– sería el momento de realizar la compra del nuevo coche.
PHP, y en general todos los lenguajes de programación, disponen de herramientas que permiten emular cada uno de esos procesos de la conducta humana. Los iremos viendo en esta página y en las siguientes.
Operadores de comparación
PHP dispone de los siguientes operadores de comparación:
$A == $B
El operador == compara los valores de dos variables y devuelve 1 (CIERTO) en el caso de que sean iguales y el valor NUL –carácter ASCII 0– (FALSO) cuando son distintas.
Mediante este operador se pueden comparar variables de distinto tipo.
Para comparar una cadena con un número se extrae el valor entero de la cadena (si lleva dígitos al comienzo los extrae y en caso contrario le asigna el valor cero) y utiliza ese valor para hacer la comparación.
Cuando se comparan cadenas discrimina entre mayúsculas y minúsculas ya que utiliza los códigos ASCII de cada uno de los caracteres para hacer la comparación.
La comparación se hace de izquierda a derecha y devuelve 1 (CIERTO) sólo en el caso que coincidan exactamente los contenidos de ambas cadenas.
El operador == | |||||
A | B | Operador | Sintaxis | Resultado | |
$A=123 | $B=123 | == | $A==$B | 1 | |
$A=123.0 | $B=123 | == | $A==$B | 1 | |
$A=123 | $B="123" | == | $A==$B | 1 | |
$A=123 | $B="123ABC" | == | $A==$B | 1 | |
$A=123 | $B=124 | == | $A==$B | | |
$A=123 | $B=124 | == | ord($A==$B) | 0 | |
$A="abc" | $B="ABC" | == | $A==$B | | |
$A="abc" | $B="abc" | == | $A==$B | 1 | |
$A="abc" | $B="abcd" | == | $A==$B | | |
|
$A === $B
El operador === es similar al anterior, pero realiza la compa- ración en sentido estricto.
Para que devuelva 1 es necesario que sean iguales los valores de las variables y también su tipo.
El operador === | |||||
A | B | Operador | Sintaxis | Resultado | |
$A=123 | $B=123 | === | $A===$B | 1 | |
$A=123.0 | $B=123 | === | $A===$B | | |
$A=123 | $B="123" | === | $A===$B | | |
$A=123 | $B="123ABC" | === | $A===$B | | |
$A=123 | $B=124 | === | $A===$B | | |
$A=123 | $B=124 | === | ord($A===$B) | 0 | |
$A="abc" | $B="ABC" | === | $A===$B | | |
$A="abc" | $B="abc" | === | $A===$B | 1 | |
$A="abc" | $B="abcd" | === | $A===$B | | |
|
$A != $B
El operador != devuelve 1 cuando los valores de las variables son distintos (en general ! indica negación, en este caso podríamos leer «no igual») y devuelve NUL cuando son iguales.
Este operador no compara en sentido estricto, por lo que puede considerar iguales los valores de dos variables de distinto tipo.
A | B | Operador | Sintaxis | Resultado | |
$A=123 | $B=123 | != | $A!=$B | | |
$A=123.0 | $B=123 | != | $A!=$B | | |
$A=123 | $B="123" | != | $A!=$B | | |
$A=123 | $B="123ABC" | != | $A!=$B | | |
$A=123 | $B=124 | != | $A!=$B | 1 | |
$A=123 | $B=124 | != | ord($A!=$B) | 49 | |
$A="abc" | $B="ABC" | != | $A!=$B | 1 | |
$A="abc" | $B="abc" | != | $A!=$B | | |
$A="abc" | $B="abcd" | != | $A!=$B | 1 | |
|
$A < $B
El operador < style="text-align: justify;">
– Los valores numéricos siguen el criterio matemático.
– Cuando se trata de un número y una cadena extrae el valor numérico de ésta (es cero si no hay ningún dígito al principio de la misma) y hace una comparación matemática.
– En el supuesto de dos cadenas, compara uno a uno –de izquierda a derecha– los códigos ASCII de cada uno de los carácteres (primero con primero, segundo con segundo, etcétera). Si al hacer esta comprobación encuentra –en la primera cadena– un caracter cuyo código ASCII es mayor que el correspondiente de la segunda cadena, o encuentra que todos son iguales en ambas cadenas devuelve NUL. Solo en el caso de no exitir ninguno mayor y sí haber al menos uno menor devolverá UNO.
– Cuando las cadenas tengan distinta longitud, considerá (a efectos de la comparación) que los caracteres que faltan en la cadena más corta son NUL (ASCII 0).
El operador < | |||||
A | B | Operador | Sintaxis | Resultado | |
$A=123 | $B=123 | < | $A<$B | | |
$A=123 | $B="123" | < | $A<$B | | |
$A=123.0 | $B="123" | < | $A<$B | | |
$A=123 | $B="123ABC" | < | $A<$B | | |
$A=123 | $B=124 | < | $A<$B | 1 | |
$A=123 | $B=124 | < | ord($A<$B) | 49 | |
$A="abc" | $B="ABC" | < | $A<$B | | |
$A="abc" | $B="abc" | < | $A<$B | | |
$A=" bcd" | $B="abcd" | < | $A<$B | 1 | |
$A="aacd" | $B="abcd" | < | $A<$B | 1 | |
$A="abc" | $B="abcd" | < | $A<$B | 1 | |
$A="abcd" | $B="abc" | < | $A<$B | | |
$A="A" | $B="a" | < | $A<$B | 1 | |
$A="a" | $B="A" | < | $A<$B | | |
$A="aBC" | $B="A" | < | $A<$B | | |
$A="123" | $B=124 | < | $A<$B | 1 | |
$A=123 | $B="124" | < | $A<$B | 1 | |
|
$A <= $B
Se comporta de forma idéntica al anterior. La única diferencia es que ahora aceptará como ciertos los casos de igualdad tanto en el caso de números como en el de códigos ASCII.
El operador <= | |||||
A | B | Operador | Sintaxis | Resultado | |
$A=123 | $B=123 | <= | $A<=$B | 1 | |
$A=123.0 | $B=123 | <= | $A<=$B | 1 | |
$A=123 | $B="123" | <= | $A<=$B | 1 | |
$A=123 | $B="123ABC" | <= | $A<=$B | 1 | |
$A=123 | $B=124 | <= | $A<=$B | 1 | |
$A=123 | $B=124 | <= | ord($A<=$B) | 49 | |
$A="abc" | $B="ABC" | <= | $A<=$B | | |
$A="abc" | $B="abc" | <= | $A<=$B | 1 | |
$A="abc" | $B="abcd" | <= | $A<=$B | 1 | |
$A="A" | $B="a" | <= | $A<=$B | 1 | |
$A="a" | $B="A" | <= | $A<=$B | | |
$A="aBC" | $B="A" | <= | $A<=$B | | |
$A="123" | $B=124 | <= | $A<=$B | 1 | |
$A=123 | $B="124" | <= | $A<=$B | 1 | |
|
$A > $B
Es idéntico –en el modo de funcionamiento– a $A < $B. Solo difiere de éste en el criterio de comparación que ahora requerirá que los valores de $A sean mayores que los de la variable $B.
El operador > | ||||
A | B | Operador | Sintaxis | Resultado |
$A=123 | $B=123 | > | $A>$B | |
$A=123 | $B="123" | > | $A>$B | |
$A=123 | $B="123ABC" | > | $A>$B | |
$A=123 | $B=124 | > | $A>$B | |
$A=123 | $B=124 | > | ord($A>$B) | 0 |
$A="abc" | $B="ABC" | > | $A>$B | 1 |
$A="abc" | $B="abc" | > | $A>$B | |
$A="abc" | $B="abcd" | > | $A>$B | |
$A="A" | $B="a" | > | $A>$B | |
$A="a" | $B="A" | > | $A>$B | 1 |
$A="aBC" | $B="A" | > | $A>$B | 1 |
$A="123" | $B=124 | > | $A>$B | |
$A=123 | $B="124" | > | $A>$B | |
$A >= $B
Añade al anterior la posibilidad de certeza en caso de igualdad.
El operador >= | ||||
A | B | Operador | Sintaxis | Resultado |
$A=123 | $B=123 | >= | $A>=$B | 1 |
$A=123 | $B="123" | >= | $A>=$B | 1 |
$A=123 | $B="123ABC" | >= | $A>=$B | 1 |
$A=123 | $B=124 | >= | $A>=$B | |
$A=123 | $B=124 | >= | ord($A>=$B) | 0 |
$A="abc" | $B="ABC" | >= | $A>=$B | 1 |
$A="abc" | $B="abc" | >= | $A>=$B | 1 |
$A="abc" | $B="abcd" | >= | $A>=$B | |
$A="A" | $B="a" | >= | $A>=$B | |
$A="a" | $B="A" | >= | $A>=$B | 1 |
$A="aBC" | $B="A" | >= | $A>=$B | 1 |
$A="123" | $B=124 | >= | $A>=$B | |
$A=123 | $B="124" | >= | $A>=$B | |
Fuente:
Página del ifstic: http://www.isftic.mepsyd.es/formacion/enred/
No hay comentarios:
Publicar un comentario