PHP Funcións
Revisión del 17:00 17 oct 2016 de Wiki (discusión | contribuciones)
Funcións definidas polo usuario
- Unha función é un conxunto de instrucións que se executan ao ser 'chamada' ou 'invocada' a función a través do seu nome.
- Unha función pode (é optativo) levar parámetros que veñen ser variables cuxos valores son utilizados dentro da función.
- Sintaxe:
1 <?php 2 function exemplo($arg_1, $arg_2, /* ..., */ $arg_n) 3 { 4 echo "Función de exemplo.\n"; 5 return $valor_devolto; 6 } 7 ?>
- Como vemos unha función vai poder devolver un valor o cal pode ser utilizado polo código que a chama.
- Os nomes das funcións seguen as mesmas regras que as demais etiquetas de PHP. Un nome de función válido comeza cunha letra ou guión baixo, seguido de calquera número de letras, números ou guións baixos.
- Vexamos un exemplo dunha función que devolve a suma de dous números pasados como parámetros:
1 <?php 2 function sumarNumeros($val1,$val2){ 3 return $val1+$val2; 4 } 5 ?> 6 7 <body> 8 <?php 9 $num1=5; 10 $num2=10; 11 12 printf("Suma dos números:%d", sumarNumeros($num1, $num2)); 13 echo "<br/>"; 14 if (sumarNumeros($num1, $num2)>10){ 15 echo "A suma da mais que 10..."; 16 } 17 ?>
- Fixarse como na liña 13 amosamos o resultado da chamada á función e na liña 15 utilizamos a función como unha expresión dentro da cláusula if.
- Dará como resultado:
Suma dos números:15 A suma da mais que 10...
- Como norma xeral definiremos a función antes da súa chamada (eu as poño antes da etiqueta <body>). Isto só é necesario se definimos unha función como resultado dunha condición (poderíamos definir unha función dentro dun if).
- Unha función pode devolver calquera tipo de dato, como pode ser boolean, e utilizalas como parte dunha condición:
1 <?php 2 /* 3 * Función que devolve true se $val1 > $val2 e os dous son positivos 4 */ 5 function eMaior($val1,$val2){ 6 if ($val1<0 || $val2<0 || $val1>$val2){ 7 return false; 8 } 9 return true; 10 } 11 ?> 12 <body> 13 <?php 14 $num1=5; 15 $num2=10; 16 17 if (eMaior($num1, $num2)){ 18 echo '$num1 é maior que $num2 e ademaís son positivos'; 19 } 20 21 ?>
- Dará como resultado:
$num1 é maior que $num2 e ademaís son positivos
include e include_once
Accedendo a elementos dun array devoltos dende funcións
- Anteriormente á versión 5.4, se queremos acceder a un elemento dun array devolve por unha función tiñamos que facer isto:
1 <?php 2 function getArray() { 3 return array(1, 2, 3); 4 } 5 6 $tmp = getArray(); 7 $segundoElemento = $tmp[1]; 8 ?>
- A partires da versión 5.4 xa podemos facer isto:
1 <?php 2 function getArray() { 3 return array(1, 2, 3); 4 } 5 6 // a partires de PHP 5.4 7 $segundoElemento = getArray()[1]; 8 9 ?>
-- Ángel D. Fernández González -- (2016).