各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php回调函数的实现方法介绍(代码)

管理员 2023-09-05
PHP
105

php回调函数的实现方法介绍(代码)

内容导读

收集整理的这篇技术教程文章主要介绍了php回调函数的实现方法介绍(代码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2552字,纯文字阅读大概需要4分钟

内容图文

本篇文章给大家带来的内容是关于php回调函数的实现方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

名称id说明选项options
回调过滤器(callback)1024调用自定义函数来过滤数据callable函数或方法

回调函数实现

回调函数必须接受一个待过滤的值,并返回过滤后的值,回调函数有四种实现方式。

第一种是直接定义回调函数,并在使用过滤器函数时,将回调过滤器的options设置为自定义的回调函数。

<?phpfunction 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));?>

第三种是通过闭包实现调用回调函数来传递其他参数。

<?phpfunction 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));?>

第四种是使用类中的函数作为回调函数,可以用来将多个过滤器回调函数集中到一起。

<?phpclass TrimFilter{    private $options=array();    private $defaults=array('character_mask'=>" tnrx0B");    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));?>

以上就是php回调函数的实现方法介绍(代码)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php回调函数的实现方法介绍(代码)全部内容,希望文章能够帮你解决php回调函数的实现方法介绍(代码)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部