Maison développement back-end Problème PHP Comment écrire une fonction de rappel php

Comment écrire une fonction de rappel php

Sep 24, 2019 pm 02:00 PM
回调函数

Comment écrire une fonction de rappel php

La définition et l'appel des fonctions ordinaires sont similaires à js. Cette définition ne nécessite pas de valeur de retour, même s'il existe une valeur de retour, il n'est pas nécessaire de l'ajouter lors de la déclaration. .

Dans les versions ultérieures de PHP, une fonctionnalité très utile a été ajoutée, à savoir qu'elle peut être appelée avant que la fonction ne soit définie.

echo add(1,2);
echo "</br>";
function add($a,$b){
    return $a+$b;
}
function sub($a,$b){
    return $a-$b;
}
echo add(23,12);
echo "</br>";
echo sub(23,22);
echo "</br>";
Copier après la connexion

Ce qui suit est une fonction très utile, qui est la fonction variable. Comme son nom l'indique, la fonction est utilisée comme variable.

L'avantage est que vous pouvez appeler différentes fonctions avec la même variable, ce qui est très similaire à l'appel polymorphe de fonctions.

$var="add";
echo $var(4,2);
echo "</br>";
$var="sub";
echo $var(4,2);
echo "</br>";
Copier après la connexion

La fonction de rappel consiste à transmettre un processus à une fonction lorsque le passage d'un paramètre simple ne peut pas résoudre le problème, afin d'atteindre l'objectif.

Passer une fonction en paramètre lors de l'appel d'une fonction est un rappel de fonction.

$arr=array(2,3,5,4,1,6,7,9,8);
var_dump($arr);
echo "</br>";
Copier après la connexion
//这里是自定义回调函数,返回-1是指将两个元素交换,0和1是不发生改变。
function myrule($a,$b){
    if ($a>$b){
        return 1;
    }
    elseif ($a<$b){
        return -1;
    }
    else{
        return 0;
    }
}
//usort就是系统函数,但是他的第二个参数是回调函数,这个函数参数就是排序规则
usort($arr,"myrule");
var_dump($arr);
echo "</br>";
Copier après la connexion

Écrivez votre propre fonction de rappel et utilisez des fonctions variables et des rappels pour remplir une condition de filtrage simple. Si plusieurs conditions doivent être satisfaites en même temps, attribuez-lui simplement une relation &&.

La fonction variable utilisée peut être appelée à l'aide d'une fonction appelée call_user_func_array() dans le système. Elle a deux paramètres : le nom de la fonction de rappel et le tableau de paramètres

call_user_func_array("demo ", array (1,3)); Son avantage est que le nombre de paramètres dans le tableau peut être inférieur à celui de la fonction d'origine, même lorsqu'il existe des paramètres par défaut.

//rule1除去数组中是三的倍数的数
function rule1($a){
    if ($a%3==0){
        return true;
    }else{
        return false;
    }
}
//rule2是除去数组中的回文数(从左边读与从右边读是一样的)
function rule2($a){
    if ($a==strrev($a)){
        return true;
    }else{
        return false;
    }
}
function demo($n,$var){
    for ($i=0;$i<$n;$i++){
        if (call_user_func_array($var,array(23)))
        //if ($var($i))
        {
            continue;
        }else{
            echo $i."<br>";
        }
    }
}
$var="rule1";
demo(100,$var);
echo "</br>";
echo "<hr>";
$var="rule2";
demo(200,$var);
echo "</br>";
Copier après la connexion

Notez que lors de l'appel d'une méthode dans un objet, nous devons transmettre un objet anonyme puis spécifier le nom de la fonction

Lors de l'appel d'une méthode statique dans une classe, nous n'en avons besoin que. pour spécifier le nom de la classe.

Dans les deux cas ci-dessus, vous ne pouvez pas utiliser complètement la fonction variable. Vous ne pouvez utiliser que le rappel système call_user_func_array(), qui est juste une fonction variable pour transmettre des paramètres sans appeler

class A{
    function one(){
    }
    static function two(){
    }}demo(200,array(new A,"one"));demo(200,array("A","two"));
Copier après la connexion
.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment écrire une fonction de rappel Java Comment écrire une fonction de rappel Java Jan 09, 2024 pm 02:24 PM

Les méthodes d'écriture de la fonction de rappel Java sont : 1. Rappel d'interface, définir une interface qui contient une méthode de rappel, utiliser l'interface comme paramètre où le rappel doit être déclenché et appeler la méthode de rappel au moment approprié ; Rappel de classe interne anonyme, vous pouvez utiliser des classes internes anonymes pour implémenter des fonctions de rappel afin d'éviter de créer des classes d'implémentation supplémentaires ; 3. Rappels d'expressions Lambda Dans Java 8 et versions ultérieures, vous pouvez utiliser des expressions Lambda pour simplifier l'écriture des fonctions de rappel.

Syntaxe de base et application des fonctions de rappel en Java Syntaxe de base et application des fonctions de rappel en Java Jan 30, 2024 am 08:12 AM

Introduction à l'écriture de base et à l'utilisation des fonctions de rappel Java : dans la programmation Java, la fonction de rappel est un modèle de programmation courant. Grâce à la fonction de rappel, une méthode peut être transmise en tant que paramètre à une autre méthode, réalisant ainsi un appel indirect de la méthode. L'utilisation de fonctions de rappel est très courante dans des scénarios tels que la programmation événementielle et asynchrone et la mise en œuvre d'interfaces. Cet article présentera l'écriture et l'utilisation de base des fonctions de rappel Java et fournira des exemples de code spécifiques. 1. Définition de la fonction de rappel Une fonction de rappel est une fonction spéciale qui peut être utilisée comme paramètre

Communication des composants Vue : utilisation des fonctions de rappel pour la communication des composants Communication des composants Vue : utilisation des fonctions de rappel pour la communication des composants Jul 09, 2023 pm 07:42 PM

Communication des composants Vue : utilisation des fonctions de rappel pour la communication des composants Dans les applications Vue, nous devons parfois laisser différents composants communiquer entre eux afin qu'ils puissent partager des informations et collaborer les uns avec les autres. Vue propose diverses façons d'implémenter la communication entre les composants, l'une des méthodes les plus courantes consiste à utiliser des fonctions de rappel. Une fonction de rappel est un mécanisme dans lequel une fonction est passée en argument à une autre fonction et est appelée lorsqu'un événement spécifique se produit. Dans Vue, nous pouvons utiliser des fonctions de rappel pour implémenter la communication entre les composants, afin qu'un composant puisse

Analyse approfondie des fonctions de rappel en JavaScript (synchrones et asynchrones) Analyse approfondie des fonctions de rappel en JavaScript (synchrones et asynchrones) Aug 04, 2022 am 10:05 AM

Les fonctions de rappel sont l'un des concepts que tout programmeur front-end devrait connaître. Les rappels peuvent être utilisés dans les tableaux, les fonctions de minuterie, les promesses et la gestion des événements. Cet article expliquera le concept des fonctions de rappel et vous aidera à distinguer deux types de rappels : synchrones et asynchrones.

Comment utiliser les fonctions de rappel de base de données dans Golang ? Comment utiliser les fonctions de rappel de base de données dans Golang ? Jun 03, 2024 pm 02:20 PM

L'utilisation de la fonction de rappel de base de données dans Golang peut permettre : d'exécuter du code personnalisé une fois l'opération de base de données spécifiée terminée. Ajoutez un comportement personnalisé via des fonctions distinctes sans écrire de code supplémentaire. Des fonctions de rappel sont disponibles pour les opérations d'insertion, de mise à jour, de suppression et de requête. Vous devez utiliser la fonction sql.Exec, sql.QueryRow ou sql.Query pour utiliser la fonction de rappel.

Analyser les scénarios d'application courants de la fonction de rappel Python Analyser les scénarios d'application courants de la fonction de rappel Python Feb 02, 2024 pm 09:34 PM

L'analyse des scénarios d'application de fonctions de rappel courants en Python nécessite des exemples de code spécifiques. Une fonction de rappel fait référence au passage d'une fonction en tant que paramètre à une autre fonction dans la programmation et à l'exécution de cette fonction de paramètre lorsqu'un événement spécifique se produit. Les fonctions de rappel sont largement utilisées dans la programmation asynchrone, le traitement d'événements, la programmation GUI et d'autres domaines. Cet article analysera les scénarios d'application courants des fonctions de rappel en Python et donnera des exemples de code spécifiques pertinents. Programmation asynchrone Dans la programmation asynchrone, les fonctions de rappel sont souvent utilisées pour gérer les résultats des tâches asynchrones. Lorsqu'il est nécessaire d'exécuter une consommation

Domaines d'application des fonctions de rappel Java dans la programmation événementielle Domaines d'application des fonctions de rappel Java dans la programmation événementielle Feb 01, 2024 am 09:07 AM

Application de la fonction de rappel Java dans la programmation pilotée par événements Introduction à la fonction de rappel Une fonction de rappel est une fonction appelée après qu'un événement ou une opération se soit produit. Il est couramment utilisé dans la programmation événementielle, où le programme se bloque en attendant qu'un événement se produise. Lorsque l'événement se produit, la fonction de rappel est appelée et le programme peut continuer son exécution. En Java, les fonctions de rappel peuvent être implémentées via des interfaces ou des classes internes anonymes. Une interface est un mécanisme permettant de définir des signatures de fonction qui permet à une classe d'implémenter celle d'une autre classe.

Comparaison des pointeurs de fonctions C++ et des fonctions de rappel Comparaison des pointeurs de fonctions C++ et des fonctions de rappel Apr 18, 2024 pm 12:06 PM

Les pointeurs de fonction et les fonctions de rappel sont tous deux des outils permettant d'implémenter le mécanisme de rappel. Les pointeurs de fonction sont créés au moment de la compilation et ne peuvent pas être modifiés et doivent être appelés explicitement ; les fonctions de rappel sont créées au moment de l'exécution et peuvent être liées dynamiquement à différentes fonctions et automatiquement appelées par la fonction de rappel. Par conséquent, les pointeurs de fonction conviennent aux rappels statiques, tandis que les fonctions de rappel conviennent aux rappels dynamiques.

See all articles