Maison  >  Article  >  développement back-end  >  Comment utiliser les pointeurs de fonctions PHP ?

Comment utiliser les pointeurs de fonctions PHP ?

WBOY
WBOYoriginal
2024-04-16 10:42:021101parcourir

Les pointeurs de fonction PHP permettent de transmettre des fonctions en tant que paramètres, qui peuvent être utilisés pour créer des fonctions de rappel ou réutiliser du code. Syntaxe : $functionPointer = function_name ; ou fonction anonyme : $functionPointer = function($arg1, $arg2) { ... } ; Appelez le pointeur de fonction via call_user_func($function, $a, $b), tel que applyFunction(). paramètre de pointeur de fonction de réception de fonction et utilisez call_user_func() pour appeler la fonction. Remarque : Le pointeur de fonction doit être une fonction valide ou une fonction anonyme ; il ne peut pas pointer vers une méthode privée ; une erreur sera générée si la fonction n'existe pas.

如何使用 PHP 函数指针?

Comment utiliser les pointeurs de fonctions PHP

Les pointeurs de fonctions vous permettent de passer des fonctions comme arguments à d'autres fonctions. Ceci est utile lorsque vous avez besoin de fonctions de rappel ou que vous souhaitez créer du code réutilisable.

Syntaxe

$functionPointer = function_name;

Vous pouvez également créer des pointeurs de fonction à l'aide de fonctions anonymes :

$functionPointer = function($arg1, $arg2) { ... };

Exemple pratique

Voici un exemple d'utilisation des pointeurs de fonction :

<?php

function multiply($a, $b) {
  return $a * $b;
}

function applyFunction($function, $a, $b) {
  return call_user_func($function, $a, $b);
}

$result = applyFunction("multiply", 5, 10);

echo $result; // 输出:50

Dans l'exemple ci-dessus, la fonction applyFunction() 函数接受一个函数指针作为第一个参数。它使用 call_user_func() est fonction appelée et transmettre les paramètres restants.

Notes

  • Les pointeurs de fonction doivent être des noms de fonction valides ou des fonctions anonymes.
  • Les pointeurs de fonction ne peuvent pas être utilisés dans les méthodes privées.
  • Si la méthode pointée par le pointeur de fonction n'existe pas au moment de l'exécution, une erreur sera générée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn