Diferència entre revisions de la pàgina «Funcions»
De Wiki IES Marianao. Departament Informàtica
Línia 30: | Línia 30: | ||
Proveu aquest script: | Proveu aquest script: | ||
+ | |||
<?php | <?php | ||
: function comptadora () | : function comptadora () | ||
Línia 46: | Línia 47: | ||
: echo "Comptador A:".comptadora()."<br/>"; | : echo "Comptador A:".comptadora()."<br/>"; | ||
: echo "Comptador A:".comptadora()."<br/>"; | : echo "Comptador A:".comptadora()."<br/>"; | ||
− | : echo "Comptador A:". | + | : echo "Comptador A:".comptadorb()."<br/>"; |
− | : echo "Comptador A:". | + | : echo "Comptador A:".comptadorb()."<br/>"; |
− | : echo "Comptador A:". | + | : echo "Comptador A:".comptadorb()."<br/>"; |
?> | ?> | ||
== Paràmetres per valor i referència == | == Paràmetres per valor i referència == | ||
+ | |||
+ | Per defecte les variables en PHP es passen per valor, es a dir, una còpia del valor original. Així, si volem que una funció modifique el valor d'una variable que s'ha passat com a paràmetre a una funció, aquesta variable s'ha de passar per '''referència'''. | ||
+ | Al passar una variable per referència, el que fem és donar l'adreça d'aquesta variable per a que pugui ser modificada. | ||
+ | |||
+ | Exemple: | ||
+ | |||
+ | <?php | ||
+ | function reset_comptador ($c) | ||
+ | { | ||
+ | $c=0; | ||
+ | } | ||
+ | $count=0; | ||
+ | $count++; | ||
+ | $count++; | ||
+ | $count++; | ||
+ | echo "Comptador=$count<br/>"; | ||
+ | reset_comptador($count); | ||
+ | echo "Comptador=$count<br/>"; | ||
+ | ?> |
Revisió del 18:17, 25 nov 2011
Funcions en PHP
= Estructura de les funcions PHP =
- Una funció en PHP té la següent estructura:
- function nom_funció (Declaració de paràmetres)
- {
- accions que es realitzen en la funció
- return valor; (opcional)
- }
Utiltitzem la paraula return en l'interior de la funció sempre que desitgem que la nostra funció retorne un valor.
Àmbit de les variables
- Àmbit local: Les variables de la funció no es poden utilitzar fora d'aquesta. Aquestes variables són inicialitzades cada vegada que es crida a la funció (excepte si utilitzem variables estàtiques)
- Àmbit global: Encara que no és el més recomanable (per claredat del programa) es poden utilitzar variables globals. Es defineixen utilitzant la paraula "global". Per exemple,
- $f1="Hola";
- function func ()
- {
- global $f1;
- echo $f1;
- }
- Variables estàtiques: Recorden el valor de la variable en cada crida a la funció mentre estigui executant-se el script PHP. Es defineix una variable estàtica amb la paraula "static".
Proveu aquest script:
<?php
- function comptadora ()
- {
- $cont=0;
- return ++$cont;
- }
- function comptadorb ()
- {
- static $cont=0;
- return ++$cont;
- }
- echo "Comptador A:".comptadora()."<br/>";
- echo "Comptador A:".comptadora()."<br/>";
- echo "Comptador A:".comptadora()."<br/>";
- echo "Comptador A:".comptadorb()."<br/>";
- echo "Comptador A:".comptadorb()."<br/>";
- echo "Comptador A:".comptadorb()."<br/>";
?>
Paràmetres per valor i referència
Per defecte les variables en PHP es passen per valor, es a dir, una còpia del valor original. Així, si volem que una funció modifique el valor d'una variable que s'ha passat com a paràmetre a una funció, aquesta variable s'ha de passar per referència. Al passar una variable per referència, el que fem és donar l'adreça d'aquesta variable per a que pugui ser modificada.
Exemple:
<?php function reset_comptador ($c) { $c=0; } $count=0; $count++; $count++; $count++; echo "Comptador=$count<br/>"; reset_comptador($count); echo "Comptador=$count<br/>"; ?>