# Lección 4: Funciones

## Conceptos teoricos

### Funciones de usuario

Definir funciones o procedimientos en php es sencillo y similar a como se realiza en otros lenguajes.

function nombre_funcios(parametro1,parametro2,...) { bleque de instruciones return $valor; // en caso de que queramos devolver algun valor }

Para invocar a la función basta con hacer $valorcapturado=nombrefuncione(p1,p2,...)

Los parámetros que recibe la función y pueden ser cualquier tipo de dato.

### Parámetros por defecto

Es posible asignar un valor por defecto a los parámetros que recibe una función de forma que cuando se invoca la función si se le pasa dicho parámetro se le asigna el valor por defecto.

En caso de que la función tenga unos parametros sin valor por defecto y otros que si lo tienen, estos deberán los últimos a la hora de definir la función

      function pais($p='España')
      {
      echo "Tu pais de origen es $p"
      }
      pais();
      pais(Francia);

## Ejemplos

    Mostar un formulario para calcular el iva de una cantidad
    <?php
    function calc($pcant, $piva=7){
    $total = $pcant * $piva /100;
    return $total;
    }
    if(!empty($_POST[iva]))
    $miiva = calc($_POST[cantidad],$_POST[iva]) ;
    else
    $miiva = calc($_POST[cantidad]);
    ?>

    <form name="form1" method="post" action="ejemplo1.php">
      <fieldset><legend>Calcular iva</legend>
      Cantidad <input type="text" name="cantidad" value="<?php echo $_POST[cantidad];?>"/>
      IVA(introducir si no es 7%)
      <input name="iva" type="text" size="4" value="<?php echo $_POST[iva]; ?>"/>
      = Resultado <input name="resultado" type="text" value="<?php echo $miiva ?>"/>
      <input type="submit" value="calcular" />
      </fieldset>
      </form>

Ver script en ejecución

## Ejercicios

### Ejercicio1:

Crea una función a las que se le pasen dos parametros cantidad y moneda, el valor moneda será 'PTS' o 'EUR', la función tranforma el valor de la cantidad a pesetas o a euros según el parametro introducido en moneda. Utiliza esta función para crear una aplicación EUROCONVERSOR.

INDICE DE LECCIONES

Introducción

Sintaxis básica

Estructuras de Control

Funciones de usuario

Acceso a BB.DD

Cookies

Sesiones

Otras funciones

ENLACES DE INTERES

web oficial de PHP

web oficial de Apache

web oficial de w3c

desarrollo web