dsajkdadsa14222 2016-08-11 09:21
浏览 32

为什么函数不能重新声明但常见变量可以?

php -a
Interactive mode enabled
php >  function sum(){
php {         $total = 0;
php {         $varArray = func_get_args();
php {         foreach ($varArray as $var){
php {             $totals += $var;
php {         }
php {         return $total;
php {     }
php >  function sum(){
php {         $total = 0;
php {         $varArray = func_get_args();
php {         foreach ($varArray as $var){
php {             $total += $var;
php {         }
php {         return $total;
php {     }
PHP Fatal error:  Cannot redeclare sum() (previously declared in php shell code:2) in php shell code on line 8
php > $b=3;    
php > $b=5;    
php > echo $b;    
5     

In the interactive mode of php,i input sum function wrong,it was found that the mistaken can be fixed via re-input.
For varable b ,it can be redeclared for any times ,there is no PHP Fatal error: Cannot redeclare for varable b here.
What is the reason for the design that function can't be redeclared ,common varable can be redeclared?
Is it harmful or dangerous or difficult for function can be redeclared in php?
Please show me some examples for harmful or dangerous or difficult.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 yolov8边框坐标
    • ¥15 matlab中使用gurobi时报错
    • ¥15 WPF 大屏看板表格背景图片设置
    • ¥15 这个主板怎么能扩出一两个sata口
    • ¥15 不是,这到底错哪儿了😭
    • ¥15 2020长安杯与连接网探
    • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
    • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
    • ¥16 mybatis的代理对象无法通过@Autowired装填
    • ¥15 可见光定位matlab仿真