


Introduction à la méthode d'implémentation de la fonction de rappel php (code)
本篇文章给大家带来的内容是关于php回调函数的实现方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
名称 | id | 说明 | 选项options |
回调过滤器(callback) | 1024 | 调用自定义函数来过滤数据 | callable函数或方法 |
回调函数实现
回调函数必须接受一个待过滤的值,并返回过滤后的值,回调函数有四种实现方式。
第一种是直接定义回调函数,并在使用过滤器函数时,将回调过滤器的options设置为自定义的回调函数。
<?php function trimString($value){ return trim($value); } $args=array( 'options'=>'trimString', ); var_dump(filter_var('abc ',FILTER_CALLBACK,$args)); ?>
第二种是在使用过滤器函数时,将回调过滤器的options直接设置为回调函数。
<?php $args=array( 'options'=>function ($value){return trim($value);}, ); var_dump(filter_var('abc ',FILTER_CALLBACK,$args)); ?>
第三种是通过闭包实现调用回调函数来传递其他参数。
<?php function trimString($array){ return function($value = null) use ($array){ if(key_exists('character_mask',$array)){ return trim($value,$array['character_mask']); } return trim($value); }; } $args=array( 'options'=>trimString(array("character_mask"=>'a..c ')), ); var_dump(filter_var('abcd ',FILTER_CALLBACK,$args)); ?>
第四种是使用类中的函数作为回调函数,可以用来将多个过滤器回调函数集中到一起。
<?php class TrimFilter{ private $options=array(); private $defaults=array('character_mask'=>" \t\n\r\0\x0B"); public function __construct(array $options=array()){ $this->options = $options; } private function get_options(array $defaults){ return array_merge($defaults, $this->options); } function trimString($value){ $ops=$this->get_options($this->defaults); if(key_exists('character_mask',$ops)){ return trim($value,$ops['character_mask']); } return trim($value); } function ltrimString($value){ $ops=$this->get_options($this->defaults); if(key_exists('character_mask',$ops)){ return ltrim($value,$ops['character_mask']); } return ltrim($value); } function rtrimString($value){ $ops=$this->get_options($this->defaults); if(key_exists('character_mask',$ops)){ return rtrim($value,$ops['character_mask']); } return rtrim($value); } } $trim_args=array( 'options'=>array( new TrimFilter(array('character_mask'=>" a")),TRIMSTRING ) ); $ltrim_args=array( 'options'=>array( new TrimFilter(array('character_mask'=>" a")),LTRIMSTRING ) ); $rtrim_args=array( 'options'=>array( new TrimFilter(),RTRIMSTRING ) ); $str="abcd "; var_dump(filter_var($str,FILTER_CALLBACK,$trim_args)); var_dump(trim($str," a")); var_dump(filter_var($str,FILTER_CALLBACK,$ltrim_args)); var_dump(ltrim($str," a")); var_dump(filter_var($str,FILTER_CALLBACK,$rtrim_args)); var_dump(ltrim($str)); ?>
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
![Comment résoudre l'erreur « [Vue warn] : échec de la résolution du filtre »](https://img.php.cn/upload/article/000/887/227/169243040583797.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Méthodes pour résoudre l'erreur "[Vuewarn]:Failedtoresolvefilter" Lors du processus de développement utilisant Vue, nous rencontrons parfois un message d'erreur : "[Vuewarn]:Failedtoresolvefilter". Ce message d'erreur se produit généralement lorsque nous utilisons un filtre non défini dans le modèle. Cet article explique comment résoudre cette erreur et donne des exemples de code correspondants. Quand on est dans Vue

1. Filtre Regardez d'abord l'emplacement du filtre du serveur Web. Le filtre est une chaîne connectée avant et après. Une fois le traitement précédent terminé, il est transmis au filtre suivant pour traitement. 1.1Définition de l'interface de filtre publicinterfaceFilter{//Méthode d'initialisation, exécutée une seule fois dans tout le cycle de vie. //Les services de filtrage ne peuvent pas être fournis tant que la méthode init n'est pas exécutée avec succès (échec tel que le lancement d'une exception, etc.). //Le paramètre FilterConfig permet d'obtenir le paramètre d'initialisation publicvoidinit(FilterConfigfilterConfig)throwsServletException;//

Définissez d’abord un filtre pour l’interception d’URL d’accès unifié. Le code est le suivant : publicclassUrlFilterimplementsFilter{privateLoggerlog=LoggerFactory.getLogger(UrlFilter.class);@OverridepublicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{H

Remarque 1. Si le paramètre Lambda génère une valeur vraie, le filtre (Lambda pouvant générer un résultat booléen) générera un élément ; 2. Lorsque false est généré, cet élément ne sera plus utilisé. Exemple pour créer une collection List : ListstringCollection=newArrayList();stringCollection.add("ddd2");stringCollection.add("aaa2");stringCollection.add("bbb1");stringC

Analyse des propriétés visuelles CSS : box-shadow, text-shadow et filter Introduction : Dans la conception et le développement Web, CSS peut être utilisé pour ajouter divers effets visuels aux éléments. Cet article se concentrera sur les trois propriétés importantes de box-shadow, text-shadow et filter en CSS, y compris leur utilisation et l'affichage des effets. Ci-dessous, nous analysons ces trois attributs en détail. 1. boîte-ombre (ombre de boîte) boîte-shado

Explication détaillée des propriétés floues CSS : filter et background-filter Introduction : Lors de la conception de pages Web, nous avons souvent besoin d'effets spéciaux pour augmenter l'attrait visuel de la page. L'effet de flou est l'un des effets spéciaux courants. CSS fournit deux attributs de flou : filter et background-filter, qui sont utilisés respectivement pour flouter le contenu de l'élément et le contenu de l'arrière-plan. Cet article explique ces deux propriétés en détail et fournit quelques exemples de code concrets. 1. filtre

Classe facultative en Java8 : Comment utiliser la méthode filter() pour filtrer les valeurs éventuellement nulles En Java8, la classe facultative est un outil très utile qui nous permet de mieux gérer les valeurs éventuellement nulles et d'éviter l'apparition de NullPointerException. La classe Optionnel fournit de nombreuses méthodes pour manipuler les valeurs nulles potentielles, l'une des méthodes importantes est filter(). La fonction de la méthode filter() est que si Option

Utilisez des filtres pour formater et traiter les données dans Vue Dans Vue, nous pouvons formater et traiter les données à l'aide de filtres. Le filtre est une fonction qui peut être appelée directement dans le modèle. Elle peut traiter les données à afficher et renvoyer les résultats traités. Dans cet article, nous présenterons comment utiliser des filtres pour formater et traiter les données, et fournirons des exemples de code spécifiques. Enregistrer le filtre Dans l'instance Vue, nous devons d'abord enregistrer un filtre afin qu'il puisse être utilisé dans le modèle
