请问如何注销自定义函数?

lostgdi731 2006-09-18 06:55:25
手册和网上都找不到相关的资料。

例如:
main.php
<?
require('1.php');
hi();

?>

1.php
<?
function hi(){
echo 1;
}
?>

2.php
<?
function hi(){
echo 2;
}
?>

谢谢
...全文
263 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lostgdi731 2006-09-21
  • 打赏
  • 举报
回复
唉。看到大家的回复后,我另外花了一天的时间查资料和做实验,还是补救不了。
不过还是谢谢大家的回复了。
an9ryfr09 2006-09-19
  • 打赏
  • 举报
回复
你的出发点肯定是错了,要不就是我理解错了,我认为你的问题可以用两个不同名的函数解决。
去喝杯咖啡,打打游戏换换脑筋吧,有时人容易禁锢在一种思维模式中很难自拔^_^

我说的写在类里面的意思是用方法重载的方式去实现,方法重载应该符合你的需求了。方法重载相信你应该知道是啥吧。php4可以用一种逻辑方式模拟方法重载,php5有相关的magic函数来实现方法重载了。
helloyou0 2006-09-19
  • 打赏
  • 举报
回复
嘿嘿,严重同情楼主。
是老代码的问题,类似但不完全相同的函数用了相同的函数名(在不同的文件里)。
现在要改很麻烦的,因为函数名一样,又不能直接一个替换解决。

现在碰上要同时用两个不相同但是同名的函数。。。。。。

只能先拷贝一个函数,另起一个名字。。。。?
lostgdi731 2006-09-18
  • 打赏
  • 举报
回复
如果写成类也没用吧?类也会redeclare的。
实际项目问题是分别有两个php文件1和2,里边的函数名都相同,因为功能属性是相同的,只是个别函数针对数据格式不同而分成了1和2。但现在需要同一请求里调用1,和2里相同的一个函数名的函数。
不知道我的出发点是不是错了。
an9ryfr09 2006-09-18
  • 打赏
  • 举报
回复
你是怕在整个页面以及其他页面修改函数名字会另很多引用此函数的地方失效吧?用替换功能啊,一个个改确实麻烦。
an9ryfr09 2006-09-18
  • 打赏
  • 举报
回复
写在类里面,然后用方法重载来实现。

你的要求似乎无法实现,函数也是一个模板,两个同名字的模板放在一个作用域下肯定出问题了。在同一作用域内,无法做到,并且php不支持namespace,也无法作用于任何有关联的文件内。

不过不明白你的应用目的,要想用实现不同的结果把条件控制放在函数内部判断下不就完啦。另外在别的语言中可以这样做嘛?我还真没碰到过这种需求
iasky 2006-09-18
  • 打赏
  • 举报
回复
你不修改函数,难道不能修改函数名。

lostgdi731 2006-09-18
  • 打赏
  • 举报
回复

main.php
<?
require('1.php');
hi();
require('2.php');
hi();

?>
这样等于一个函数调用这两个hi()了
iasky 2006-09-18
  • 打赏
  • 举报
回复
自己写个函数,分别调这个俩函数
lostgdi731 2006-09-18
  • 打赏
  • 举报
回复
就是函数名称必须相同。
我的意思是想在
main.php
<?
require('1.php');
hi();
require('2.php');
hi();

?>

得到输出:" 12 "的效果

to iasky:
我不明白你的意思。我不想修改 hi()这个函数,因为它太大了。
iasky 2006-09-18
  • 打赏
  • 举报
回复
create_function

用完就没有了……
aday 2006-09-18
  • 打赏
  • 举报
回复
没太看明白,函数名称写成不同的不行吗?

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧