Вы находитесь на странице: 1из 5

Funciones PHP

Qu es una Funcin?
Las funciones son bsicamente pedazos de cdigo que pueden ser llamados desde un script
para realizar una tarea especifica. A las funciones se les pueden pasar argumentos o
parmetros de ser necesario para que utilicen sus valores para realizar alguna operacin y
retorna algn valor al final de la ejecucin.
En PHP existen dos tipos de funciones, las que PHP trae por defecto ara que el programador
las utilice y las que el programador crea desde cero dependiendo de sus necesidades.

Cmo Escribir una Funcin en PHP?


El primer paso crear una funcin en PHP es ponerle un nombre con el cual se pueda hacer
referencia a la misma. Las convenciones para los nombres de las funciones son las mismas
que para las variables. Por lo tanto, el nombre de la funcin debe empezar con una letra o con
un guin bajo (_) y no se permiten espacios o signos de puntuacin. Por ultimo debes tener
cuidado de que el nombre no sea el mismo que el de alguna funcin nativa de PHP.
Las funciones en PHP se crean usando la palabra clave function seguida por el nombre y por
ultimo un para de parntesis (). El cdigo que ejecutara la funcin es encerrado entre
corchetes. Veamos un ejemplo sencillo de como se declara una funcin.
1 <?php
2 function imprimirHola()
3 {
4

echo "Hola";

5 }
6 ?>

Cmo Retornar un Valor de una Funcin?


Las funciones pueden retornar un valor al final de su ejecucin si es que el programador lo
necesita. Este valor puede ser de cualquier tipo y se hace con la sentencia return.
1
2
3
4
5
6

<?php
function retornarDiez()
{
return 10;
}
?>

Pasando Parmetros a la Funcin


Los parmetros o argumentos pueden ser pasados a una funcin y no hay limitacin en
cuanto al numero de parmetros que puedan ser. Una funcin puede ser diseada para

aceptar parmetros mediante la colocacin de los parmetros que se esperan dentro de los
parntesis que van despus del nombre de la funcin. Las parmetros que escriben como si
fueran variables y si son varios se deben separar con comas. En el siguiente ejemplo vamos a
utilizar los parmetros $param1 y$param2. Estas parmetros pueden ser utilizados dentro
de la funcin como variables normales.
1
2
3
4
5
6
7
8

<?php
function sumarNumeros ($parametro1, $parametro2)
{
return $parametro1 + $parametro2;
// En esta funcin podemos observar como se reciben dos parmetros para luego sumarlos
// y devolver el resultado .
}
?>

Llamando a una Funcin


Las funciones en PHP se llaman usando el nombre con el cual se declararon, junto con los
valores que se pasen como parmetros si es que son necesarios. En el siguiente ejemplo
llamaremos a la funcin sumarNumeros.
1
2
3
4
5
6
7
8
9
10
11

<?php
function sumarNumeros ($parametro1, $parametro2)
{
return $parametro1 + $parametro2;
}
echo sumarNumeros( 10 , 20);
// aqu estamos haciendo la llamada a la funcin
// y estamos pasando como parmetros los numeros 10 y 20
?>

Parmetros por Referencia


En el ejemplo anterior solo pasamos dos constantes a la funcin. Pero si hubiramos pasado
dos variables y dentro de las funcin estas variables se hubieran visto modificadas cuando la
funcin terminara las variables seguiran teniendo del mismo valor con el que entraron a la
funcin. Veamos un ejemplo de esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<?php
function sumarNumeros ($parametro1, $parametro2)
{
$parametro1 += 10;
$parametro2 += 10;
return $parametro1 + $parametro2;
}
$param1 = 10;
$param2 = 20;
echo "Antes param1 = ".$param1.", param2 = ".$param1." <br>";
sumarNumeros ($param1, $param2);
echo "Despus param1 = ".$param1.", param2 = ".$param1."
<br />";
// La salida del escript anterior ser la siguiente
// Antes param1 = 10, param2 = 20

17
18
// Despus param1 = 10, param2 = 20
19
20 ?>
21
22

Si queremos que la funcin pueda modificar los valores de las variables que se le pasan por
parmetros entonces tenemos que pasarlas por referencia. Esto significa que le estamos
pasando una referencia a la variable y no solamente el valor de la misma. Para especificar
que estamos pasando la variable por referencia tenemos que anteponer el sigo et (&) al
nombre de la variable en la declaracin de la funcin. Veamos un ejemplo de como funciona
esto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

<?php
function sumarNumeros (&$parametro1, &$parametro2)
{
$parametro1 += 10;
$parametro2 += 10;
return $parametro1 + $parametro2;
}
$param1 = 10;
$param2 = 20;
echo "Antes param1 = ".$param1.", param2 = ".$param1." <br>";
sumarNumeros ($param1, $param2);
echo "Despus param1 = ".$param1.", param2 = ".$param1."
<br />";
//
//
//
//
//

La salida del escript anterior ser la siguiente


Recordemos que estamos pasando las variables por referencia
y por lo tanto la variable es modifica desde adentro de la funcin
Antes param1 = 10, param2 = 20
Despus param1 = 20, param2 = 30

?>

Alcance o mbito de Variables


Ahora que sabemos cmo utilizar las funciones en PHP debemos aprender cual es el alcance
(scope) de las variables en PHP. Cuando una variable es declarada fuera de la funcin
entonces su alcance es global, es decir es accesible desde cualquier parte del script que se
est usando. Por otro lado, cuando una variable es declarada dentro de una funcin entonces
se dice que tiene un alcance local, lo que quiere decir que solo se puede utilizar dentro de la
funcin en la cual se declaro.
Esto quiere decir que puedes tener una variable global y una variable local con el mismo
nombre pero con diferentes valores. En el siguen ejemplo la variable $cadena en los dos
mbitos, local y global con diferentes valores.
1
2
3
4

<?php
function mostrarCadena()
{
$cadena = "Cadena local";
echo "Cadena 2 = ".$cadena."<br>";

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

}
$cadena = "Cadena global";
echo "Cadena 1 = ".$cadena."
<br />";
mostrarCadena();
// el resultado de este script ser el siguiente
// Cadena 1 = Cadena global
// Cadena 2 = Cadena local
?>

Esto puede ser un problema si queremos acceder a una variable global en un mbito local y
hay conflicto por lo nombre de las variables. Pero PHP proporciona la variable $GLOBALS, que
no es mas que un arreglo que contiene todas las variables globales. Por lo tanto si queremos
acceder a una variable global dentro de una funcin, pero la funcin ya posee una variable
con ese nombre entonces accedemos con $GLOBALS. Veamos un ejemplo de como podemos
utilizar esto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

<?php
function mostrarCadena ()
{
$cadena = "Cadena local";
echo "Cadena 2 = ".$cadena."<br>";
echo "Cadena 1 GLOBAL = ".$GLOBALS['cadena']."
<br />";
}

$cadena = "Cadena global";


echo "Cadena 1 = ".$cadena."<br />";
mostrarCadena();
//
//
//
//

el resultado de este script ser el siguiente


Cadena 1 = Cadena global
Cadena 2 = Cadena local
Cadena 1 GLOBAL = Cadena global

?>

BIBLIOGRAFIA
PHP 5 For Dummies
Autor: Valade,

Janet

Editorial: Wiley
Fecha de Publicacin: 10 May, 2004

PHP desde Cero


http://codehero.co/php-desde-cero-funciones/

Вам также может понравиться