|
|
Línea 181: |
Línea 181: |
| </source> | | </source> |
| </div> | | </div> |
− |
| |
| <div class="slide"> | | <div class="slide"> |
| <!--4----------------------------------> | | <!--4----------------------------------> |
− | | + | ===Separación de instrucciones=== |
| + | *En php cada instrucción se separa de otra con ''''';''''' (punto y coma). |
| + | *El cierre de etiqueta php implica un ''''';''''' (punto y coma), por lo que podríamos no ponerlo |
| + | <source lang =php> |
| + | <?php |
| + | $a=5; |
| + | $echo'la instruccion de arriba es una y esta otra"; |
| + | $echo'esta instrucción puede no llevar ; por ir antes de fin de etiqueta php, pero mejor ponerla" |
| + | ?> |
| + | </source> |
| + | <div class="slide"> |
| + | <!--4----------------------------------> |
| + | </div> |
| *Este código nos visualizará | | *Este código nos visualizará |
| Valor de la variable 16 | | Valor de la variable 16 |
| </div> | | </div> |
| {{Actividad| | | {{Actividad| |
− | Probamos a hacer programas tontos donde asignamos y visualizamos valores | + | *Probamos a hacer programas sencillos donde asignamos y visualizamos valores |
− | entero: | + | #entero: |
− | cadena: | + | #cadena: |
− | booleano: | + | #booleano: |
− | real | + | #real |
− | NULL | + | #NULL |
| }} | | }} |
| </div> | | </div> |
Línea 341: |
Línea 352: |
| #Devuelve un valor que representa si la sentencia ha tenido o no éxito | | #Devuelve un valor que representa si la sentencia ha tenido o no éxito |
| </div> | | </div> |
− | *Para las siguientes actividades debes conocer básicamente estructuras de control básicas | + | *Para las siguientes actividades debes conocer las estructuras de control básicas. |
| </div> | | </div> |
| | | |
| <div class="slide"> | | <div class="slide"> |
| <!--4----------------------------------> | | <!--4----------------------------------> |
− |
| |
− |
| |
− |
| |
| | | |
| === Estructuras de control 1=== | | === Estructuras de control 1=== |
Línea 464: |
Línea 472: |
| | | |
| <div class="slide"> | | <div class="slide"> |
− | | + | ===Constantes=== |
| + | *Se definen con la funcion '''''define()''''' |
| + | <source lang=php> |
| + | define("IVA",0.21); |
| + | $total=$base*(1+IVA); |
| + | </source> |
| + | ;identificador |
| + | *Se usa el mismo criterio de construcción pero no empieza por $ |
| + | *Se pueden definir y utilizar en cualquier momento que se necesiten. |
| + | *Para saber si una constante está definida '''''defined()''''' |
| + | </div> |
| | | |
| | | |
Variables, constantes y tipos de datos
Pregunta
- Qué es un tipo de dato
- Qué es una variable
|
Definición
Un tipo de dato es un conjunto de valores para los cuales hay definidos una serie de operaciones
|
Definición
Una variable es una posición de memoria que va almacener algún valor de un determinado tipo, y cuyo contenido puede variar durante la ejecución de un programa
|
- PHP
- Tipado dinámico
- Los lenguajes de programación pueden ser mas o menos exigentes en cuanto a la declaración de los tipos de las variables para poder ser usados durante la ejecución de un programa.
- Lenguajes fuertemente tipos o débilmente tipados o tipado dinámico
- En este sentido php es un lenguaje de tipado dinámico, el tipo de la variable depende del valor que tiene en un momento dado o de los operadores que lo afecten.
Variables
Identificador
- En php las variablas se prepresentas con el signo $ seguido de un caracter de subrayado o una letra y luego letras, números y caracteres de subrayado en cualquier orden y número.
- identificador de variables
Puntos clave
$(a..zA..Z_0-9)*
|
<?php
$miVariable= 8;/*Variable de tipo entero*/
edad = 5/*Error en el identificador*/
$5edad = 5 /*Error en el identificador */
?>
- El lenguaje es sensible a mayúsculas y minúsculas
- En los identificadores de variables
- No lo es en nombres de funciones
- No lo es en palabras reservadas (if, then, else,...)
Valores y tipos de datos
- En Php tenemos 8 tipos de datos
- En php tenemos
- 5 tipos básicos o primitibos (booleano, entero, real, string, NULL)
- 3 compuestos (array, objeto, recurso)
tipos básicos
- entero integer
- Posible notación decimal/octal/hexadecimal
decimal [0..9]+
hexadecimal 0x[0..f]+
octal 0[0..7]+
binario 0b[01]+
- Todos ellos pueden ser positivos o negativos
**$Numero=10;
*Octal
**$NumeroOctal=067;
*Hexadecimal
**$NumeroHex=0cA56B;
- Al imprimirlos con print los veré con valor decimal
- Para verlos en otras base hay que usar printf o format o utilizar las conversiones dechex o dechex o octdec, .... que se ven después
- cadena string
$frase="Esto es un literal de cadena de caracteres"
- real o coma flotante float
$valor=$0.2345;
$valor=.54;
$valor=7E-12;
- Booleano boolean
$estado=TRUE;
$estado=TrUe;
$estado=falsE;
- NULL
- un tipo especial que solo tiene ese valor
- Una variable tiene el valor null
- Si aún no se le ha asignado valor, o éste se ha destruido (unset()
- Si se le ha asignado explícitametne el valor NULL.
- Tipos complejos
- Objetos básico en su aspecto de OOP
- Matrices o arrays muy muy utilizados
- Recursos este más que un tipo complejo es un tipo especial que hace referencia a un recurso externo referencia , como una conexión a una base de datos o como una referencia a un fichero pdf.
- Este tipo de variables las veremos más adelante
Comentarios
Son ignorados por el intérprete
<?php
/*
Este código no hace nada pero muestra
la sintaxis de los comentarios
como este que ocupa varias líneas tipo lenguaje C o Java
*/
$miVariable= 8;// Esta parte de la línea se ignorará
$miVariable+= 8;# y esta parte de línea tambien
echo "Valor de la variable $miVariable";
//Este es otro comentario de una sola línea
#Este es otro modo de hacer comentarios tipo script de linux
?>
Separación de instrucciones
- En php cada instrucción se separa de otra con ; (punto y coma).
- El cierre de etiqueta php implica un ; (punto y coma), por lo que podríamos no ponerlo
<?php
$a=5;
$echo'la instruccion de arriba es una y esta otra";
$echo'esta instrucción puede no llevar ; por ir antes de fin de etiqueta php, pero mejor ponerla"
?>
- Este código nos visualizará
Valor de la variable 16
Actividad
- Probamos a hacer programas sencillos donde asignamos y visualizamos valores
- entero:
- cadena:
- booleano:
- real
- NULL
|
Valor de variable
- Una variable le asigno un valor en cualquier momento
- El tipo de la variable depende del valor que tiene
- Hay una serie de funciones del sistema relacionadas con los valores y las variables
Funciones de php de tipos y valores
- var_dump
void var_dump($expresion)
- Nos da información sobre la estructura de un valor resultado de una expresion
- isset
- verifica que una variable tiene valor (está definida y no tiene un valor null)
<?php
$VariableValor= 5;
print ("El valor de la variable es $VariableValor");
print ("El valor de otra variable es $OtraVariableValor");
if (isset($VariableValor))
print ("VariableValor tiene valor asignado");
else
print ("VariableValor no no tiene valor asignado");
if (isset($OtraVariableValor))
print ("OtraVariableValor tiene valor asignado");
else
print ("OtraVariableValor no no tiene valor asignado");
?>
- empty
- Determina si una variable no existe. Devuelve true si no existe o su valor está vacío
Actividad
Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo
|
Actividad
Usando la función xxxyyy donde xxx e yyy será dec oct bin o hex para convertir el valor de un sistema numérico a otro
|
- gettype()
- Devuelve el tipo de una variable
string gettype($variable)
- is_xxx
- xxx puede ser cualquiera de los tipos
bool double float int integer null string
- devuelve un booleano que indica si la variable es o no de ese tipo
string is_int($variable);
string is_double($variable);
string is_bool($variable);
string is_integer($variable);
string is_null($variable);
string is_string($variable);
- unset
- Destruye la variable especificada perdiéndose su valor
void unset ($var
Cadenas
- Comillas dobles ""
- Comillas sencillas ''
Funciones de salida
- Construcciones básicas para salida de caracteres
- No son funciones (con o sin paréntesis) son echo' print
echo
- Es el uso más sencillo
- Imprime una cadena como argumentos
- En la versión sin paréntesis también puedes pasar una lista de argumentos.
<?php
- Echo “primer argumento”, “segundo argumento”, “tercer argumeto”
?>
print
Tiene dos diferencias con echo
- Sólo puede aceptar un argumento
- Devuelve un valor que representa si la sentencia ha tenido o no éxito
- Para las siguientes actividades debes conocer las estructuras de control básicas.
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
- Operadores lógicos
Operadores lógicos
and
or
!
xor
&&
||
Funcionan por cortocircuito
Construyen expresiones booleanas y tras su evaluación retorna un valor booleano.
Operadores lógicos
Operadores lógicos
==
¡=
<
>
<=
>=
===
Operadores ternario
Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion
Selección if
If ( condicion)
Sentencia 1;
if (condicion){
Sentencia 1
Sentencia 2
}
if (condicion)
Sentencia 1
else
Sentencia 2
if condicion:
Sentencia 1;
endif;
iteracion for
for (expression_inicial; comprobacion_terminacion;exrpesion_incremento){
sentencias;
}
Actividad
Haz un programa que sume los 100 primeros números
|
Actividad
Haz un programa que obtenga de forma aleatoria dia (1-31)mes(1-12) y año(1-3000) y nos diga si la fecha es correcta o no y porqué
|
Actividad
- Haz un programa que a partir de precio hora y de número de horas calcule una nómina, teniendo en cuenta que:
- mas de 40 horas son extras (1.5 el precio establecido
- IRPF < 600E exento
- Entre 600 y 800 5%
- Mas de 800 12 %
- Nos debe de dar detalle del bruto, descuentos y neto de salario
|
Actividad
Un programa que nos diga si un número es o no primo
|
Actividad
Haz un programa que muestre la tabla de multiplicar de un número aleatorio en una tabla. Intenta que las sentencias html queden fuera del código de php
|
Constantes
- Se definen con la funcion define()
define("IVA",0.21);
$total=$base*(1+IVA);
- identificador
- Se usa el mismo criterio de construcción pero no empieza por $
- Se pueden definir y utilizar en cualquier momento que se necesiten.
- Para saber si una constante está definida defined()
|