求一个算法,关于条件运行自定义函数的,有难度。谢谢!
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->在PHP中,求一算法,麻烦各位了,如下:$arr0,$arr1及$arr2,$arr3,元素个数是固定的4,不会有变化$arr0=array('','wc1','','wc3');//此数组了定义了,要执行那些函数及方法$arr1=array('wc0','wc1','wc2','');$arr2=array('wc0','','','wc3');共有自定义函数4个,分别是function wc0(){}function wc1(){}function wc2(){}function wc3(){}问题开始:对于$arr0,$arr1,$arr2几个数组,当其元素不为空时,便执行相应的自定义函数。举例如下:当遇到$arr0=array('','wc1','','wc3');执行2个函数:wc1() 与wc3()当遇到$arr1=array('wc0','wc1','wc2','');执行3个函数,wc0(),wc1(),wc2()当遇到$arr2=array('wc0','','','wc3');执行2个函数,wc0(),wc3().......您看出规律了吗?对就是这个样子,我现在要改写成一个函数,求算法。即当遇到$arr,便执行XXXXfunction wc0(){ echo "wc0\n";}function wc1(){ echo "wc1\n";}function wc2(){ echo "wc2\n";}function wc3(){ echo "wc3\n";}$arr=array('','wc1','','wc3');foreach($arr as $func){ if(function_exists($func)){ $func(); }}<br><font color="#e78608">------解决方案--------------------</font><br>array_product 或 array_reduce 都可以<br><br>对于<br>$ar = array('','wc1','','wc3');<br>$r = array();<br>foreach($ar as $func)<br> $r[] = $func ? $func() : 1;<br>echo array_product($r);<br><br>&& 与相当于乘法<br>假定 wc1 返回 0、wc3 返回1<br>则 $r 为 1,0,1,1 连乘后得 0<br><br>假定 wc1 返回 1、wc3 返回 1<br>则 $r 为 1,1,1,1 连乘后得 1<br><br><font color="#e78608">------解决方案--------------------</font><br><?php function wc0(){ return 1; } function wc1(){ return 1; } function wc2(){ return 0; } function wc3(){ return 1; } $arr0=array('','wc1','','wc3');//此数组了定义了,要执行那些函数及方法 $arr1=array('wc0','wc1','wc2',''); $arr2=array('wc0','','','wc3'); for($i=0;$i<3;$i++){ //数组名 $name = 'arr'.$i; //数组值 $tmpArr = $$name; $result = 1; foreach($tmpArr as $fun){ if($fun != ''){ $result = $result && $fun(); } } echo $result? 'true' : 'false'; $result == 1; }//End_php<br /><font color="#e78608">------解决方案--------------------</font><br>这个比较简单.<br>$a=Array('a','b','','c');For($i=0;$i
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号