有更多写法吗? functionswitchphp 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是这样的逻辑 还有什么方式 简洁直达目的. 不查数据库 这个 case 可能会增加更多 不好维护$test = 1;switch ($test) { case 1: case 2: case 3: case 4: //run one break; case 5: break; case 6: default: break;} 个人感觉,如果对于$test的每一个值,都会执行一个唯一的函数(如1,2执行了函数run1, 则1, 2不再执run2),用switch ..case应该算是比较简洁的了。而如果每个test值,都可能执行多个函数(如2同时执行run1, run2),那么更好的设计方案是:array( 1 => array('run1', 'run2'), 2 => array('run2', 'run3'), ...)这有点类似事件绑定,同一个节点上绑定了多个事件(这里是执行函数)然后getFunction List ............bla bla.这样,最主要的维护工作在上述那个对应数组,相当于手动维护一个数据库 感觉用key => value比较好。function run($test){ return ($test>=1 && $test<4)? 'one' : '';} one:下面可能还有些代码 简短的应该不错 如果代码还是有一些的话这样写看起来有点强迫症 哈哈哈 不过 这是 我上面列出的新方法 谢谢 楼下还有吗? 有个朋友也有给出一个 调用后静态类的方法 跟你这个大同小异了 if,switch适合固定较少的分支, hashtable适合动态的或者较多的分支.要是你足够蛋疼,用文件include也是可以的。 更多的写法我不肯定没有,因为php是动态脚本语言,可以做很多蛋疼的事。但是只有结合实际用途,才能找到最适合的用法。 <?phpfunction run($t, $s){ $data = array( 1 => function($param) { return serialize($param); }, 2 => function($param) { return json_encode($param); }, ); if(!isset($data[$t])){ return false; }else{ return $data[$t]($s); }}echo run(2, array('data' => '一个数组')); 我认为通过类的 __call 方法实现是最稳妥的 那再__call里又要怎么实现? 构造函数的具体应用的问题??? php 项目导入zend的时候中文都乱码了。。。 ADODB类的分页功能的使用问题!!!!!急!!! 在线请教!!!!!!!!!!!!!!! 有没有好的php新闻组? 一个与php无关的问题。有人用过优盘或捷盘一类的东西吗?哪个牌子比较好? 如何实现远程数据交换? 求大神帮忙 mysql 正则查询 PHP JSON数组按车号查询键名 mysql两张表的关联查询 异常处理try catch 默认是否会把错误信息记录到阿帕奇日志里?
就是这样的逻辑 还有什么方式 简洁直达目的. 不查数据库 这个 case 可能会增加更多 不好维护
$test = 1;
switch ($test) {
case 1:
case 2:
case 3:
case 4:
//run one
break;
case 5:
break;
case 6:
default:
break;
}
array(
1 => array('run1', 'run2'),
2 => array('run2', 'run3'),
...
)
这有点类似事件绑定,同一个节点上绑定了多个事件(这里是执行函数)
然后getFunction List ............bla bla.
这样,最主要的维护工作在上述那个对应数组,相当于手动维护一个数据库
return ($test>=1 && $test<4)? 'one' : '';
}
one:下面可能还有些代码 简短的应该不错 如果代码还是有一些的话这样写看起来有点强迫症 哈哈哈 不过 这是 我上面列出的新方法 谢谢 楼下还有吗? 有个朋友也有给出一个 调用后静态类的方法 跟你这个大同小异了
要是你足够蛋疼,用文件include也是可以的。
但是只有结合实际用途,才能找到最适合的用法。
<?phpfunction run($t, $s){
$data = array(
1 => function($param) {
return serialize($param);
},
2 => function($param) {
return json_encode($param);
},
);
if(!isset($data[$t])){
return false;
}else{
return $data[$t]($s);
}
}echo run(2, array('data' => '一个数组'));
那再__call里又要怎么实现?