codeigniter - PHP 参数不定,如何动态调用方法?
如:
我现在有三个方法
<code>foo($a,$b=null) boo($a=array(),$b="") Roo($a) </code>
现在我只需要传递方法名称和参数列表就能直接调用方法。
希望是可以这样(伪代码):
<code>function run_function($fun_name,$paras) { {$fun_name}(....//这里应该怎么写呢?); } </code>
自己找到正确答案了,谢谢下面两个回复的,但真不是我需要的答案。现贴出解决方案:
<code>$handler = array( 'test', 'test3'); $params = array( array(1,2,3,4), 1 ); if($params == null) { call_user_func($handler); } if (is_callable($handler) ) { call_user_func_array( $handler , $params ); } class test { function test1($arr,$arr1) { var_dump(array_merge($arr,$arr1)); } function test2() { echo 123; } function test3($arr,$a) { var_dump($arr); var_dump($a); } }</code>
回复内容:
如:
我现在有三个方法
<code>foo($a,$b=null) boo($a=array(),$b="") Roo($a) </code>
现在我只需要传递方法名称和参数列表就能直接调用方法。
希望是可以这样(伪代码):
<code>function run_function($fun_name,$paras) { {$fun_name}(....//这里应该怎么写呢?); } </code>
自己找到正确答案了,谢谢下面两个回复的,但真不是我需要的答案。现贴出解决方案:
<code>$handler = array( 'test', 'test3'); $params = array( array(1,2,3,4), 1 ); if($params == null) { call_user_func($handler); } if (is_callable($handler) ) { call_user_func_array( $handler , $params ); } class test { function test1($arr,$arr1) { var_dump(array_merge($arr,$arr1)); } function test2() { echo 123; } function test3($arr,$a) { var_dump($arr); var_dump($a); } }</code>
http://www.php.net/manual/zh/function.func-get-args.php
<code>function run_function($fun_name) { if(function_exists($fun_name)) { $num = func_num_args(); $args = func_get_args(); array_shift($args); return $num==1 ? call_user_func($fun_name) : call_user_func_array($fun_name,$args); } trigger_error('Call to undefined function ' . $fun_name, E_USER_ERROR); } //使用 run_function('foo', $a, $b); run_function('boo', $a, $b); run_function('Roo', $a);</code>
被忽略的回答可以实现阿 真是醉了

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写
