PHP 外部获取函数参数个数 function War($a,$b,$c){ $n = func_num_args(); echo $n;}War(1,2,3);func_num_args()这个函数只能在函数里面获取参数个数而不能在函数外部获取,有什么方法能在外部获取函数参数的个数呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 func_num_args()得到的是传递给宿主函数的参数个数 func_num_args()得到的是实际传递的参数个数,而不是预定义个数,所以不应该有“外部获得”的说法function War(){ $n = func_num_args(); echo $n;}War(1,2,3);War(1,2,3,4);War(1,2); 实在要在“外部获取”倒是可以利用自定义函数的注释,用反射来获取<?php/** * 某自定义函数 * * @param string $a * @param string $b * @param string $c */function War($a,$b,$c){}/** * 某自定义函数2 * * @param string $a * @param string $b */function War2($a,$b){}function get_func_params($func){ $r = new ReflectionFunction($func); $str = $r->getDocComment(); preg_match_all('/@param/',$str,$m); return count($m[0]);}echo 'War:'.get_func_params('War');echo ',War2:'.get_func_params('War2');?> 问题是这些类作为控制器,无法每个都写上DOC,以URL后面一截作为参数,查了下文档,发现没有此类函数,但是ZEND FRM确实是这样实现的,还是有时间看看ZEND FRM的源码 谢谢了 C# 现在有什么动作啊,这么火 php网站数据库服务器CPU被占满了 关于“用户登录”服务器行为中与数据库不匹配返回值的问题 谁给我一个数据库操作的类 PHP显示空白的问题 pdf 遇到的问题? 关于php pear soap webservice 我想在打开登录界面后,就将光标置于用户名输入项上,如何实现?请大虾相助! 十万火急! 时间2014-1-1提交后怎么变为2014-01-01 调用当前时间???怎样调?? 学习ECSHOP程序有没有什么技巧
function War()
{
$n = func_num_args();
echo $n;
}
War(1,2,3);
War(1,2,3,4);
War(1,2);
<?php
/**
* 某自定义函数
*
* @param string $a
* @param string $b
* @param string $c
*/
function War($a,$b,$c){}/**
* 某自定义函数2
*
* @param string $a
* @param string $b
*/
function War2($a,$b){}function get_func_params($func)
{
$r = new ReflectionFunction($func);
$str = $r->getDocComment();
preg_match_all('/@param/',$str,$m);
return count($m[0]);
}
echo 'War:'.get_func_params('War');
echo ',War2:'.get_func_params('War2');
?>