create_function用完就没有了……

解决方案 »

  1.   

    就是函数名称必须相同。
    我的意思是想在
    main.php
    <?
    require('1.php');
    hi();
    require('2.php');
    hi();?>得到输出:" 12 "的效果to iasky:
    我不明白你的意思。我不想修改 hi()这个函数,因为它太大了。
      

  2.   


    main.php
    <?
    require('1.php');
    hi();
    require('2.php');
    hi();?>
    这样等于一个函数调用这两个hi()了
      

  3.   

    写在类里面,然后用方法重载来实现。你的要求似乎无法实现,函数也是一个模板,两个同名字的模板放在一个作用域下肯定出问题了。在同一作用域内,无法做到,并且php不支持namespace,也无法作用于任何有关联的文件内。不过不明白你的应用目的,要想用实现不同的结果把条件控制放在函数内部判断下不就完啦。另外在别的语言中可以这样做嘛?我还真没碰到过这种需求
      

  4.   

    如果写成类也没用吧?类也会redeclare的。
    实际项目问题是分别有两个php文件1和2,里边的函数名都相同,因为功能属性是相同的,只是个别函数针对数据格式不同而分成了1和2。但现在需要同一请求里调用1,和2里相同的一个函数名的函数。
    不知道我的出发点是不是错了。
      

  5.   

    你的出发点肯定是错了,要不就是我理解错了,我认为你的问题可以用两个不同名的函数解决。
    去喝杯咖啡,打打游戏换换脑筋吧,有时人容易禁锢在一种思维模式中很难自拔^_^我说的写在类里面的意思是用方法重载的方式去实现,方法重载应该符合你的需求了。方法重载相信你应该知道是啥吧。php4可以用一种逻辑方式模拟方法重载,php5有相关的magic函数来实现方法重载了。