|
|
(2 revisiones intermedias por el mismo usuario no mostrado) |
Línea 2: |
Línea 2: |
| | | |
| {{:Usuario:ManuelRomero/php/nav}} | | {{:Usuario:ManuelRomero/php/nav}} |
| + | <!--__NOEDITSECTION__--> |
| + | {|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;" |
| + | | width="100%" valign="top" style="padding: 0; margin:0px;" | |
| + | {|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:1px; border-color:#0066FF;" |
| + | | width="100%" valign="top" style="padding: 0; margin:0px;" | |
| + | <span style="background:#FFFF99"> |
| + | </span> |
| + | [[Imagen:DWES_TituloTema3.gif|center]] |
| + | |} |
| | | |
| | | |
Línea 246: |
Línea 255: |
| | | |
| | | |
− | ;operadores de asignacion (= , =>), se pueden combinar con los aritméticos (+=, *=, ...) y con los de concatenación (.=) | + | ;operadores de asignacion (= , =>) |
− | | + | :Se pueden combinar con los aritméticos (+=, *=, ...) y con los de concatenación (.=) |
− | ;operadores de ejecución (``); | + | :En este caso el valor de la variable de la izquierda se toma como primero operando |
| + | <source lang=php> |
| + | <?php |
| + | $b=1; |
| + | for ($a=0;$a<10;$a++){ |
| + | $b*=10; |
| + | echo 'valor de $b ='.$b.'<br>'; |
| + | } |
| + | ?> |
| + | </source> |
| + | *Genera la siguiente salida |
| + | <source lang=php> |
| + | 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 |
| + | </source> |
| + | ;operadores de ejecución (``) |
| + | :PHP proporciona un operador especial que permite ejecutar sentencias |
| + | *Observa el siguiente código |
| + | <source lang=php> |
| + | <?php |
| + | $Discos = `df`; |
| + | echo "<pre>$Discos</pre>"; |
| + | ?> |
| + | </source> |
| + | *Genera la siguiente salido |
| + | <source lang=php> |
| + | 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 |
| + | </source> |
| ;operadores lógicos (and,&&, or, ||, xor !) | | ;operadores lógicos (and,&&, or, ||, xor !) |
| + | :Funcionan por cortocircuito |
| + | :El operador '''''xor''''' da verdad si los operando son de diferente valor uno true y el otro false |
| + | :La notación '''''and''''' y '''''&&''''' representan el mismo operador, igual ocurre con '''''or''''' y '''''||''''' |
| + | |} |
Estructuras de control 1
A continuación veremos las estructuras de control
Son de tres tipos
- Selección
- Iteración
- Secuenciales
- Para construirlas necesitamos operadores
Selección if
- Sentencia que evlúa una expresión booleana y ejectua o no en función de que dicha expresión sea true o false
if (condicion)
Sentencia 1;
if (condicion){
Sentencia_1;
Sentencia_2;
}
if (expresion)
Sentencia_1;
else
Sentencia_2;
- También existe la opción elseif donde aportaremos una condición que se ha de cumplir para que se ejectuten las sentencias que a continuación acompañan.
if (expresion){
sentencias;
}
elseif (expresion){
sentencias;
}
else{
sentencias;
}
- Alternativamente puede usarse esta sintaxis que es usada cuando se quiere intercalar condigo html fuera del php.
- También se puede usar la sintaxis vista anteriormente, pero parece que esta quede más compacta.
if (condicion):
Sentencia 1;
endif;
</div>
<div class="slide">
- Ahora lo vemos con código html
<?php if (true): ?>
<h1>Esta frase seguro que aparece ahor</h1>
<!--escribirmos código html -->
<?php else: ?>
<h1>Aquí escribiré poco ya que no va a aparecer nada</h1>
<!--escribirmos código html -->
<?php endif ?>
Operadores ternario
- Es una forma más compacta de un if else con una única instrucción.
Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion
Seleccion switch
- Este es un selector múltiple
- La sentencia case puede albergar cualquier valor de un tipo simple, no está limitado a enteros como en otros lenguajes
<?php
switch ($nombre){
case "Maria":
echo "eres una chica";
break;
case "Pedro";
echo "eres una chico";
break;
default:
echo "no se qué nombre tienes";
}
?>
iteracion while
- Como en todos los bucles debemos siempre tener encuenta
- inicializar la variable de control
- acutalizarla correctamente dentro del bucle
- realizar de forma correcta la evaluación de condiciòn (< o <=), (> o >=), ...
<?php
$i = 1;
while ($i <= 10) {
echo "iteración número ."$i++;
}
?>
- Alternativamente podemos usar la siguiente sintaxis
$i = 1;
while ($i <= 10):
$i++;
echo "iteración número ."$i;
endwhile;
?>
iteracion do-while
- Este tipo de bucle donde seguro que al menos se ejectua un iteración
- Respecto al anterior nos ahorra una comparación.
<?php
$num=10;
$resultado=1;
do {
$resultado:=$resultado*$num;
$num--;
} while ($num>0);
?>
- Esta es la única sintaxis posible con este t tipo de sentencia iterativa-
iteracion for
- Es un bucle de tipo contador
for (expresion_inicial; condicion;expresion_actualizar){
sentencias;
}
- expresion_inicial
-
- Se ejecuta una sóla vez al comienzo del bucle. se usa para inicializar variables
- condicion
- Es una expresión booleana que se evalúa en cada interación
- Si da un valor false, ya no se ejectua ninguna vez
- Si no hay expresión se toma como true
- En este caso para que el bucle no sea infinito deberá llevar algún break (instrucción de terminación de bloque) en algún momento
<?php
for ($a=0; ;$a++){
echo "$a*$a=".$a*$a."<br>";
if ($a==10)
break;
}
?>
- expresion_actualizar
- Esta expresión actualiza el valor de alguna/as variables
- Se ejecuta en cada interacion
<?php
for ($a=0;$a<10 ;$a++){
echo "$a*$a=".$a*$a."<br>";
}
?>
Operadores
- Son símbolos que realizan acciones sobre operandos y dan como resultado un valor
- Tenmos diferentes tipos de operadores en función del tipo de operandos y del resultado
- operadores aritméticos (+,-,*,/,%,**, ++, --)
- Retorna un valor numérico
- el ++, -- son valores de autoincremeto y autodecremento, pueder ser pre o post
$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>';
?>
- que 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 comparación (==,<,>,>=,<=,<>,!=,===,!==)
- Este tipo de operadores genera un booleano como resultado de evaluar la expresión
- Observar == que es igual, es decir el mismo valor respecto a === que es exactamente igual lo que quiere decir el mismo valor y tipo
$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';
- Genera la siguiente salida
$num es igual a true
$num no es exactamente igual a true
- opreadores 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>";
el valor de nombre completo es Maria de la Oh ---
el valor de nombre completo es 0 --
- operadores de asignacion (= , =>)
- 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
<?php
$b=1;
for ($a=0;$a<10;$a++){
$b*=10;
echo 'valor de $b ='.$b.'<br>';
}
?>
- 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>";
?>
- Genera la siguiente salido
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
- operadores lógicos (and,&&, or, ||, xor !)
- Funcionan por cortocircuito
- El operador xor da verdad si los operando son de diferente valor uno true y el otro false
- La notación and y && representan el mismo operador, igual ocurre con or y ||
|