|
|
Línea 41: |
Línea 41: |
| | | |
| {| class="wikitable" | | {| class="wikitable" |
− | |+ style="background:#004080; color:white; font-size:1.25em;" | '''OPERADORES HABITUALES EN PHP''' | + | |+ style="color:blue; font-size:1.25em;" | '''OPERADORES HABITUALES EN PHP''' |
| |- | | |- |
| ! style="background:#0066CC; color:white;" | '''Tipo de Operador''' || '''Operador''' || '''Tipo de Expresión''' | | ! style="background:#0066CC; color:white;" | '''Tipo de Operador''' || '''Operador''' || '''Tipo de Expresión''' |
Línea 47: |
Línea 47: |
| | style="background:#E6F0FF;" | Operadores aritméticos || style="background:#FFFFFF;" | + - * / % ** || Numérica | | | style="background:#E6F0FF;" | Operadores aritméticos || style="background:#FFFFFF;" | + - * / % ** || Numérica |
| |- | | |- |
− | | style="background:#E6F0FF;" | Operadores lógicos || style="background:#FFFFFF;" | AND OR && || ! || Lógica | + | | style="background:#E6F0FF;" | Operadores lógicos || style="background:#FFFFFF;" | AND OR && <nowiki>||</nowiki> ! || Lógica |
| |- | | |- |
| | style="background:#E6F0FF;" | Operadores de comparación || style="background:#FFFFFF;" | == != < > <= >= <=> ?? || Lógica | | | style="background:#E6F0FF;" | Operadores de comparación || style="background:#FFFFFF;" | == != < > <= >= <=> ?? || Lógica |
Línea 57: |
Línea 57: |
| | | |
| {| class="wikitable" | | {| class="wikitable" |
− | |+ style="background:#004080; color:white; font-size:1.25em;" | '''OTROS OPERADORES MENOS HABITUALES''' | + | |+ style="color:green font-size:1.25em;" | '''OTROS OPERADORES MENOS HABITUALES''' |
| |- | | |- |
| ! style="background:#0066CC; color:white;" | '''Tipo de Operador''' || '''Operador''' || '''Tipo de Expresión''' | | ! style="background:#0066CC; color:white;" | '''Tipo de Operador''' || '''Operador''' || '''Tipo de Expresión''' |
Revisión de 20:09 28 nov 2024
Contenido
- 1 Operadores y expresiones
- 1.1 Operadores
- 1.1.1 Operadores de expresiones numéricas
- 1.1.2 Operadores con asignación en una misma variable
- 1.1.3 Operadores comparación (==,<,>,>=,<=,<>,!=,===,!==)
- 1.1.4 operadores de concatenacón( .) concatena cadena de caracteres.
- 1.1.5 Operadores de asignación (= , =>)
- 1.1.6 Operadores de ejecución (``)
- 1.1.7 Operadores lógicos (and,&&, or, ||, xor !)
Operadores y expresiones
¿Qué es una expresión?
Una expresión es una parte esencial de las frases en un lenguaje de programación.
|
Definición técnica de expresión
- Es un conjunto de operadores y operandos
- que, al evaluarse, producen un valor.
- Este valor puede ser usado dentro de otras instrucciones o asignado a variables.
|
Notas importantes sobre expresiones en PHP
- Una expresión tiene un tipo asociado. Este tipo depende del resultado de su evaluación.
- En PHP, el operador determina el tipo de la expresión en muchos casos.
- Los operandos intentan adaptarse al tipo esperado por el operador mediante conversiones automáticas (casting implícito).
- Una expresión no es una instrucción completa, sino parte de ella. Por ejemplo:
//Instruccion:
$resultado = 5+3;
// Expresión => 5+3
// Operador => +
// Operandos => el 5 y el 3
// Resultado => 8
//Tipo de expresión => Aritmética, lo marca el operador
|
(: Las expresiones son piezas fundamentales en cualquier lenguaje de programación. Es importante identificar sus partes (operadores y operandos) para entender cómo funciona el código.
)
Operadores
Los operadores son símbolos que realizan acciones sobre operandos y generan un resultado.
Existen diferentes tipos de operadores en función del tipo de operandos y el resultado esperado.
OPERADORES HABITUALES EN PHP
Tipo de Operador |
Operador |
Tipo de Expresión
|
Operadores aritméticos |
+ - * / % ** |
Numérica
|
Operadores lógicos |
AND OR && || ! |
Lógica
|
Operadores de comparación |
== != < > <= >= <=> ?? |
Lógica
|
Operadores de auto incremento/decremento |
++$a $a++ --$a $a-- |
Numérica
|
Operadores de string (concatenación) |
. .= |
String
|
OTROS OPERADORES MENOS HABITUALES
Tipo de Operador |
Operador |
Tipo de Expresión
|
Operadores de asignación simple |
= |
Valor asignado
|
Operadores de asignación compuesta |
+= -= *= /= %= **= .= |
Numérica
|
Operadores de asignación por referencia |
& |
Valor referenciado
|
Operadores bit a bit |
& | ^ ~ << >> |
Numérica
|
Operador de control de errores |
@ |
Silencia errores
|
Operador de ejecución |
`comando` |
Resultado del comando ejecutado
|
- Notas importantes
-
- Algunos operadores, como los de control de errores (@), deben usarse con cuidado, ya que pueden ocultar errores importantes en el código.
- Los operadores de asignación compuesta permiten realizar operaciones y asignar el resultado en un solo paso.
- El operador de ejecución (` `) se utiliza para ejecutar comandos del sistema y devolver su salida.
|
Operadores de expresiones numéricas
- Intervienen con valores numéricos y retorna un número como resultado de su evaluación
|
- Aritméticos (+,-,*,/,%,**)
- Autoincremente/decremento(++ --)
- Asignación compuesta (los aritmétcios segidos de una asignación += -= *= ....)
1.- Operadores aritméticos
- Cuando haya varios en una operación, hay que tener cuidado con la preferencia. Mejor esplicitarla con paréntesis
|
Qué ejecutaría el siguiente código
- Mejor ponerlo así
Ejecución |
---|
$num = 5+6*8-4/2;
echo "<h1>Valor de número $num</h1>";
$num = 5+(6*8)-(4/2);
$num = 5+48-2;
$num = 53-2;
echo "<h1>Valor de número $num</h1>";
- Salida
|
|
- El operador quizá menos utilizado es el módulo(%) y el exponente(**).
(: El módulo se usa mucho para ver si un número es o no divisible por otro.)
Actividad
- Buscar todos los números divisibles por 3 del 1 al 100
Posible solución |
---|
$lista = null;
for($n=1; $n<=100; $n++){
if ($n%3==0)
$lista.="$n, ";
}
echo "<h1>$lista</h1>";
- Salida
|
(: En el ejemplo anterior, al final sale una coma de más, que ya veremos cómo quitarla.)
|
- El exponente consiste en elevar un número a otro
Actividad
- Obtenerlo las diferentes potencias de 2 hasta elevarlo a 15
- 21 22 23...215
Posible solución |
---|
for($n=1; $n<=15; $n++){
echo "2<sup>$n</sup>=".(2**$n)."<br />";
}
- Salida
|
|
Autoincremente / Decremento
- el ++, -- son valores de autoincremeto y autodecremento, pueder ser pre o post
- El el caso pre, primero incrementa y luego toma el valor
- El el caso post, primero toma el valor y luego incrementa
Title: forma de usar los operadores
- Pre es anteponiendo el operador
- Post es posponiéndolo
|
- Para muchos casos es lo mismo hacerlo pre que post. Esto ocurre cuando en la instrucción solo haga eso
$a=5;
$a++;
echo "Valor de a es $a";
Es igual que
$a=5;
++$a;
echo "Valor de a es $a";
- En ambos casos la salida dará el valor 6
Pero
$a=5;
echo "Valor de a es ".++$a."<br />";
echo "Valor de a es $a<br />";
No es igual que
$a=5;
echo "Valor de a es ".$a++."<br />";
echo "Valor de a es $a<br />";
}}
Realiza el siguiente programa Entendiendo qué hace
//Declara una variable entera y asigna el valor 4
//Usando el operador unario, incrementa una unidad y compáralo con el valor 5
//Muestra un mensaje mostrando su valor
//Compáralo con el valor 4 y decrementa en una unidad , muestra información de que no es igual y muestra el valor
//Analiza la salida y prueba deferentes situaciones
|
- Operadores
$a=5;
if ($a++==5)
echo '$a que vale '.$a.' dice que vale 5 ???? <br>'
. 'Esto es por que primero compara y luego incrementa<br>';
echo 'ahora $a vale '.$a.'<br>';
if (++$a==6)
echo 'esto nunca saldrá ya que $a se incrementa antes de comparar';
else
echo 'efectivamente ahora $a ya no vale 6 sino '.$a.'<br>';
?>
- Operadores
- El código anterior genera la siguiente salida
$a que vale 6 dice que vale 5 ????
Esto es por que primero compara y luego incrementa
ahora $a vale 6
efectivamente ahora $a ya no vale 6 sino 7
Operadores con asignación en una misma variable
- Cuando la variable donde asignamos el resultado de la expresión forma parte de la expresión, la podemos simplificar
- Veamos el siguiente ejemplo
- Esto lo podemos hacer con cualquiera de los operadores aritméticos
Operadores comparación (==,<,>,>=,<=,<>,!=,===,!==)
- Este tipo de operadores genera un booleano como resultado de evaluar la expresión
- == operador de comparación igual que (mismo valor)
- === operador de comparación exactamente igual que (mismo valor y tipo)
|
Operador == Vs ===
$num=1;
if ($num==true)
echo '$num es igual a true<br>';
if ($num===true){
echo "esto nunca se ejecutará";
}else
echo '$num no es exactamente igual a true';
operadores de concatenacón( .) concatena cadena de caracteres.
- El operador + no está sobre cargado, observa el siguiente código
$nombre="Maria";
$apellido = " de la Oh";
$nombreCompleto = $nombre.$apellido;
echo "el valor de nombre completo es $nombreCompleto ---<br>";
$nombreCompleto = $nombre+$apellido;
echo "el valor de nombre completo es $nombreCompleto --<br>";
- La salida del código anterior sería
el valor de nombre completo es Maria de la Oh ---
el valor de nombre completo es 0 --
Operadores de asignación (= , =>)
- Se pueden combinar con los aritméticos (+=, *=, ...) y con los de concatenación (.=)
- En este caso el valor de la variable de la izquierda se toma como primero operando
- Operador de asignación
<?php
$b=1;
for ($a=0;$a<10;$a++){
$b*=10;
echo 'valor de $b ='.$b.'<br>';
}
?>
- El código anterior genera la siguiente salida
valor de $b =10
valor de $b =100
valor de $b =1000
valor de $b =10000
valor de $b =100000
valor de $b =1000000
valor de $b =10000000
valor de $b =100000000
valor de $b =1000000000
valor de $b =10000000000
Operadores de ejecución (``)
- PHP proporciona un operador especial que permite ejecutar sentencias
- Observa el siguiente código
<?php
$Discos = `df`;
echo "<pre>$Discos</pre>";
?>
- El código anterior generará la siguiente salida
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 86378608 6072360 75895384 8% /
none 4 0 4 0% /sys/fs/cgroup
udev 4023720 4 4023716 1% /dev
tmpfs 806904 1384 805520 1% /run
none 5120 0 5120 0% /run/lock
none 4034504 6588 4027916 1% /run/shm
none 102400 28 102372 1% /run/user
/dev/sda7 101797224 40480360 56122728 42% /home