Variables et pseudo-types utilis�s dans cette documentation

mixed

mixed indique qu'un param�tre peut accepter plusieurs (mais pas n�cessairement tous) types.

gettype() par exemple, accepte tous les types PHP, alors que str_replace() accepte les cha�nes et les tableaux.

number

number indique qu'un param�tre peut �tre soit un nombre entier, soit un nombre d�cimal (nombre d�cimal).

callback

Quelques fonctions comme call_user_func() ou usort() acceptent des fonctions de rappel d�finies par l'utilisateur comme param�tre. Les fonctions de rappel peuvent ne pas �tre de simples fonctions, mais aussi des m�thodes d'objets, incluant des m�thodes statiques.

Une fonction PHP est pass�e par son nom, comme une cha�ne. N'importe quelle fonction interne ou d�finie par l'utilisateur peut �tre pass�e, except� les constructeurs de langage comme : array(), echo(), empty(), eval(), exit(), isset(), list(), print() ou unset().

Une m�thode d'un objet instanci� est pass�e comme �tant un tableau, contenant un objet � l'index 0 et le nom de la m�thode � l'index 1.

Les m�thodes de classe statique peuvent �galement �tre pass�es sans instanciation de l'objet, en passant le nom de la classe au lieu de l'objet � l'index 0.

Mise � part des fonctions d�finies par l'utilisateur, create_function() peut �galement �tre utilis�e pour cr�er des fonctions de rappel anonymes. Depuis PHP 5.3.0, il est aussi possible de passer une fonction anonyme comme param�tre de rappel.

Exemple #1 Exemples de fonctions de rappel

<?php 

// Un exemple de fonction de rappel
function ma_fonction_callback() {
    echo 
'Bonjour le monde !';
}

// Un exemple de m�thode de rappel
class MaClasse {
    static function 
maMethodeCallback() {
        echo 
'Bonjour le monde !';
    }
}

// Type 1 : Rappel simple
call_user_func('ma_fonction_callback'); 

// Type 2 : Appel d'une m�thode de classe statique
call_user_func(array('MaClasse''maMethodeCallback')); 

// Type 3 : Appel d'une m�thode d'objet
$obj = new MaClasse();
call_user_func(array($obj'maMethodeCallback'));

// Type 4 : Appel d'une m�thode de classe statique (Depuis PHP 5.2.3)
call_user_func('MaClasse::maMethodeCallback');

// Type 5 : Appel d'une m�thode de classe statique relative (Depuis PHP 5.3.0)
class {
    public static function 
who() {
        echo 
"A\n";
    }
}

class 
extends {
    public static function 
who() {
        echo 
"B\n";
    }
}

call_user_func(array('B''parent::who')); // A
?>

Exemple #2 Exemple de fonction anonyme comme fonction de rappel

<?php
// La fonction anonyme
$double = function($a) {
    return 
$a 2;
};

// Un intervalle de nombres
$numbers range(15);

// Utilise la fonction anoyme comme fonction de rappel
// pour doubler la taille de chaque �l�ment
$new_numbers array_map($double$numbers);

print 
implode(' '$new_numbers);
?>

L'exemple ci-dessus va afficher :

2 4 6 8 10

Note: En PHP 4, il est n�cessaire d'utiliser une r�f�rence pour cr�er une fonction de rappel qui pointe vers un objet, et non une copie de celui-ci. Pour plus de d�tails, reportez-vous � la section "Explication sur les r�f�rences".

void

void comme type retourn� signifie que la valeur retourn�e est inutile. void dans une liste de param�tre signifie que la fonction n'accepte aucun param�tre.

...

$... dans le prototype d'une fonction signifie "et bien plus...". Ce nom de variable est utilis� lorsqu'une fonction peut prendre un nombre ind�fini d'arguments.