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'=>" tnr 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));?>
以上就是php回调函数的实现方法介绍(代码)的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php回调函数的实现方法介绍(代码)全部内容,希望文章能够帮你解决php回调函数的实现方法介绍(代码)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。