Desarrollo de aplicaciones web con PHP y MySQL

El lenguage PHP

Sergio Sáez y José Luis Poza

E.T.S. de Ingeniería Informática

Contenidos

Identificadores y variables

Identificadores


Variables

<?php echo $valor$mensaje?>

Variables definidas por el usuario

Tipos

Tipos escalares

boolean
Expresan un valor de verdad o falsedad. Sus valores pueden ser true o false. Ambos valores son indiferentes a mayusculas y minusculas
<?php var_dump(TRUE); var_dump(False);
   
var_dump(TrUe); var_dump(FaLsE); ?>
bool(true) bool(false) bool(true) bool(false)
integer
Expresan valores enteros y sus valores literales pueden expresarse en base 8, 10 o 16.
<?php var_dump(013); var_dump(11);
   
var_dump(0xb); ?>
int(11) int(11) int(11)
float o coma flotante
Expresan valores reales y se aceptan los valores literales en notación de punto fijo y en notación científica.
<?php var_dump(1.5678);
   
var_dump(0.45e2); ?>
float(1.5678) float(45)

Tipos escalares (cont.)

string
Forman cadenas de texto. Hay dos formas de representar los valores literales del tipo cadena:
  • Mediante comillas dobles (")

    Intenta evaluar el contenido de la cadena sustituyendo las variables.

    <?php
    $precio
    50;
    echo 
    "El precio es de $precio euros<br>";
    echo 
    "El precio es de "$precio ." euros<br>";
    ?>
    El precio es de 50 euros
    El precio es de 50 euros
  • Mediante comillas simples (')

    No se procesa el contenido de la cadena.

    <?php
    $precio
    50;
    echo 
    'El precio es de $precio euros<br>';
    ?>
    El precio es de $precio euros

Tipos compuestos

array
Almacenan valores escalares o compuestos, del mismo o distinto tipo, con clave numérica o alfanumérica.
<?php
  $numeros
= array(12345);
  
$cadenas= array("Hola""mundo""cruel");
  
$conjunto= array(12.3'hola', array(true1.5e-12));
  
$diccionario= array("rueda" => 145"aceite" => 24.5);
?>
object
Almacenan una referencia a la instancia de una clase.
<?php
  
class UnaClase {
    function 
un_metodo() {
      echo 
"Hace algo.";
    } 
// end un_metodo
  
// end UnaClase
  
$objeto = new UnaClase;
  
$objeto->un_metodo();
?>

Tipos especiales

resource
Almacenan una referencia a un recurso externo, v.g. un fichero abierto o una conexión con una BBDD.
<?php
$bbdd 
mysql_pconnect('localhost''webuser''webpassword');
if (!
$bbdd) {
    die(
'Imposible conectar: ' mysql_error());
}
echo 
'Conexi&oacute;n realizada';
mysql_close($bbdd);
?>
NULL
Tipo especial que representa a las variables que no tiene un valor asignado.

Se consideran de tipo NULL aquellas variables que:

  • Se les ha asignado la constante NULL.
  • No se les ha asignado ningún valor todavía.
  • Han sido eliminadas con la función unset().

Cambios de tipo

Cambio de tipo a boolean

Funciones relacionadas

int intval(mixed var);
float floatval(mixed var);
string strval(mixed var);
Convierten un valor al tipo especificado por la función.

Tiene un comportamiento similar al casting pero en algunos casos es un poco más potente (v.g. permite especificar la base).


is_array(), is_bool(), is_float(), is_int() = is_integer(), is_string(), is_object()
Devuelve true o false indicando si la variable es del tipo especificado.
var_dump()
Permite visualizar el tipo y el valor de una expresión.

Funciones relacionadas (cont.)

string gettype(mixed var);
Devuelve una cadena con el tipo de la variable.
bool settype(mixed &var, string type);
Cambia el tipo de la variable var al especificado en la cadena type, devolviendo false si la conversión no ha sido posible.


bool isset(mixed var);
Devuelve true si la variable está definida.
void unset(mixed var);
Elimina una variable. Desde el momento de su aplicación la variable var pertenecerá a NULL.
bool empty(mixed var);
Devuelve false si una variable existe y tiene un valor no nulo y/o distinto de cero. Es lo contrario de (boolean)$var.

Constantes

Operadores

Operadores (cont.)

Operadores (cont.)

Operadores (cont.)

Operadores (cont.)

Operadores (cont.)

Operadores (cont.)

Operadores (cont.)

Estructuras de control

Estructuras de control: if-else

Estructuras de control: if-elseif

Estructuras de control: switch

Estructuras de control: while

Estructuras de control: do-while

Estructuras de control: for

Interrumpiendo el flujo de control

Notación alternativa

<?php
  
if () {
    ...
  } elseif () {
    ...
  } else {
    ...
  } 
// endif
?>
<?php
  
if ():
    ...
  elseif ():
    ...
  else:
    ...
  endif;
?>
<?php
  
for () {
?>
    ...
<?php
  
// endfor
?>
<?php
  
for ():
?>
    ...
<?php
  
endfor;
?>
<?php
  
while () {
?>
    ...
<?php
  
// endwhile
?>
<?php
  
while ():
?>
    ...
<?php
  
endwhile;
?>