Correction status:qualified
Teacher's comments:因为time()是一个系统函数, 命名冲突 了, 你可以给你的time()添加命名空间, 只要不在全局就可以
<?php function t($a,$b,... $c) { return array_product($c)*$b*$a; } echo t(1,2,3,4); ?>
点击 "运行实例" 按钮查看在线实例
$a对应实参为1,$b对应实参为2,剩余参数$c=3,4,分步求积
还有一种方法:把$a,$b添加到$c中,用array_product直接求乘积
<?php function t($a,$b,... $c) { $argArr=func_get_args(); array_push($c,$b,$a); //print_r($c); return array_product($c); // array_unshift($c,$a,$b); //print_r($c); } echo t(1,2,3,4); ?>
点击 "运行实例" 按钮查看在线实例
此次作业在写的过程中发现一个问题:当我的函数名是time时运行就显示错误,是t时就没毛病,这是为什么?
报错内容为:Fatal error: Cannot redeclare time() in D:\CMS8\phpstudy_pro\WWW\www.k.com\hanshu\demo1.php on line 15
翻译为:致命错误:无法在第15行的d:\\cms8\\phpstudy\u pro\\www\\www.k.com\\hanshu\\demo1.php中重新声明time()。
还有就是为什么有的代码写好了,假设现在运行就显示有误,然后改来改去就一直报一个错误提示,过几个小时后再运行同样的代码就不报错了?(意思就是说,我现在写了个php文件,运行浏览器显示有误,然后不动它过几个小时再运行就没问题了,删除浏览器缓存也没用,这是为啥????)