Variables
Identificador
- En php las variablas se prepresentas con el signo $ seguido de un caracter de subrallado o una letra y luego letras, números y caracteres de subrayado en cualquier orden y número.
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
-
tipos básicos
- entero integer
decimal [0..9]+
hexadecimal 0x[0..f]+
octal 0[0..7]+
binario 0b[01]+
- Todos ellos pueden ser positivos o negativos
- 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.
'''''NULL'''''
$a=NULL;
$a=null;
- tipos complejos
- objetos
- matrices
- 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.
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
?>
Este código nos visualizará
Valor de la variable 16
Actividad
Probamos a hacer programas tontos donde asignamos y visualizamos valores
entero:
cadena:
booleano:
real
NULL
|
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
|
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
- 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
Variables entera
- Posible notación decimal/octal/hexadecimal
- Decimal
- Octal
- Hexadecimal
- Al imprimirlos con print los veré con valor decimal
- Para verlos en otras base hay que usar printf o format
Variables reales
Variables booleanas
- Interpretar otros tipos como booleanos
NULL
Cadenas
- Comillas dobles ""
- Comillas sencillas ''
Funciones de salida
Construcciones básicas para salida de caracrteres
No son funciones (con o sin paréntesis)
echo
Es el uso más sencillo
Imprime una cadena como argumentos
En la versión si 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
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;
Seleccion else elseif
Seleccion switch
iteracion while
iteracion do-while
iteracion for
for (expression_inicial; comprobacion_terminacion;exrpesion_incremento){
sentencias;
}
Escribir un programa que visualice una tabla con las divisiones de los números que confluyen
Leer datos
- Para leer datos lo hacemos de un formulario
- el formulario lo envía el cliente
- Obligatoriamente necesitamos el atributo name de la etiqueta input
- EJ. en el emisor tenemos
Dime un número:
<FORM ACTION="tabla.php" METHOD="GET">
<INPUT TYPE="text" NAME="numero">
<INPUT TYPE="submit" VALUE="Enviar">
Al presionar el botón de enviar se envía la página al servidor
La página que especificamos en el botón action la gestiona tabla.php en este caso
En el servidor para recuperar el valor utilizaremos la tabla supergobal
una tabla es una estructura indexada por índices
leeremos el índice nombre de variable de la tabla
$_GET o $_POST dependiendo de el método de envío
Valor numérico introducido: <?php echo $_GET['numero'] ?>
iteracion while
iteracion while
BASES DE DATOS
- Para trabajar con bases de datos debemos
Normalmente también
- Realizaremos Consulta o inserciones
- Procesar información
- Cerrar la base de datos
Para realizar estas acciones disponemos de diversas funciones específicas dentro de PHP
CONECTAR AL SERVIDOR MYSQL
resource mysql_connect($hostname, $user, $password);
- Los parámetros de tipo string identificarían
- $hostname = nombre del host
- $user = usuario
- $password = contraseña
- Esta función retorna el recurso de la conexión
- FALSO si no se ha conectado
SELECCIONAR LA BASE DE DATOS
Dentro del servidor tendremos diferentes bases de datos
Antes de trabajar con una debemos seleccionarla
Si no la seleccionamos se intentará operar con la última seleccionada
bool mysql_select_db ($namedatabase, $conexion)
<?php
$conexion = mysql_connect('localhost', 'manolo', 'manolo');
if (!$conexion) {
die('No conectado : ' . mysql_error());
}
// Seleccionar alumnos como base de datos activa
$db_seleccionada = mysql_select_db('alumnos', $conexion);
if (!$db_seleccionada) {
die ('No puedo conectar con la BD alumno : ' . mysql_error());
}
?>
FUNCIONES die()- mysql_error() y concatenador .
die('texto');
Es una función que aborta la ejecución
previamente visualiza el mensaje del parámetro por pantalla
mysql_error()
visualiza el error que da el sistema por el que no ha podido conectar
.
Es un concatenador de cadenas
echo "Esto es una cadena " . "Esta es otra concatenada a la anterior"
CREAR CONSULTA
resource mysql_query ( string $consulta );
consulta es la consulta a la base de datos
<?php
$resultado = mysql_query('SELECT * from alumnos');
if (!$resultado) {
die('Invalid query: ' . mysql_error());
}
?>
PROCESAR INFORMACIÓN
Ahora ya tenemos los datos con los que queremos trabajar
los tenemos en una variable de tipo consulta
ahora debemos recorrela
La variable es como un vector de filas que hay que recorrer
array mysql_fetch_row ( resource $resultado )
esta función devuelve falso o 0 cuando ya no retorna más filas
si no retorna la siguiente fila de la consulta
la forma de acceder a cada campo será por el índice del array
array[0] .. array[n]
<?php
$resultado = mysql_query("SELECT nombre, apellido, direccion FROMM alumnos");
if (!$resultado) {
die("Could not run query: " . mysql_error();
}
$c=0;
while ($alumno=mysql_fetch_row($result)){
echo "alumno $c nombre $alumno[0] apellido $alumno[1] direccion $alumno[3]");
$c++;
?>
GESTIÓN DE BASE DE DATOS
Conocer todas las bases de datos
mysql_connect('localhost', 'mysql_user', 'mysql_password');
Todas las tablas de una base de datos
resource mysql_list_tables ( string $database [, resource $link_identifier ])
Los campos de una tabla
resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier])