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 A {
public static function who() {
echo "A\n";
}
}
class B extends A {
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(1, 5);
// 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.