www.    .  
Hébergement de site internet à prix discount
  Espace Clients

 
Newsletter
  Indiquer votre email:  
Inscription
Désinscription
 
IMPORTANT *

- 95% des demandes d'aide de nos clients sont traités en moins de 2 heures !
- Nous sommes toujours en pleine innovation !
- Nous améliorons sans cesse la qualité de nos services !

Passage par référence

Vous pouvez passer des variables par référence, de manière à ce que la fonction modifie ces variables. La syntaxe est la suivante :

Exemple #1 Passage par référence

<?php
function foo(&$var) {
  
$var++;
}
$a=5;
foo ($a);
// $a vaut 6 maintenant
?>

Notez qu'il n'y a pas de signe de référence dans l'appel de la fonction, uniquement sur sa définition. La définition de la fonction est suffisante pour passer correctement des arguments par référence. Dans les versions récentes de PHP, vous devriez recevoir une alerte disant que "Call-time pass-by-reference" est obsolète lorsque vous utilisez un & dans foo(&$a);.

Les objets suivants peuvent être passés par référence :

  • Une variable, i.e. foo($a)
  • Un nouvel objet, i.e. foo(new foobar())
  • Une référence, retournée par une fonction :

    Exemple #2 Retour d'une référence par une fonction

    <?php
    function &bar() {
     
    $a 5;
     return 
    $a;
    }
    foo(bar());
    ?>

    Voir aussi des détails dans retourner des références.

Toutes les autres expressions ne doivent pas être passées par référence, car le résultat sera indéfini. Par exemple, les passages par référence suivants sont invalides :

Exemple #3 Passage par référence invalide

<?php
function bar() // Notez l'absence de &
{
   
$a 5;
   return 
$a;
}
foo(bar());    // Produit une erreur fatale depuis PHP 5.0.5

foo($a 5);    // Expression, pas une variable
foo(5);         // Produit une erreur fatale
?>

Ces fonctionnalités sont valables à partir de PHP 4.0.4.



Copyright ©2007 - 2009 APASTEC / activité hébergement de site internet: punchost
 

Carte BancaireVisaMastercardPayPal Carte Aurore Cofinoga  4 étoiles