Diferència entre revisions de la pàgina «Funcions»

De Wiki IES Marianao. Departament Informàtica
Dreceres ràpides: navegació, cerca
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()."&lt;br/&gt;";
 
: echo "Comptador A:".comptadora()."&lt;br/&gt;";
 
: echo "Comptador A:".comptadora()."&lt;br/&gt;";
 
: echo "Comptador A:".comptadora()."&lt;br/&gt;";
: echo "Comptador A:".comptadora()."&lt;br/&gt;";
+
: echo "Comptador A:".comptadorb()."&lt;br/&gt;";
: echo "Comptador A:".comptadora()."&lt;br/&gt;";
+
: echo "Comptador A:".comptadorb()."&lt;br/&gt;";
: echo "Comptador A:".comptadora()."&lt;br/&gt;";
+
: echo "Comptador A:".comptadorb()."&lt;br/&gt;";
 
?>
 
?>
 
   
 
   
  
 
== 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&lt;br/&gt;";
 +
reset_comptador($count);
 +
echo "Comptador=$count&lt;br/&gt;";
 +
?>

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/>"; ?>