是的,我知道这可能不是执行此操作的最佳方式。但是我有一个脚本,我想用参数多次调用并移交两个变量。到目前为止我的代码看起来像这样:
$testfeld = array('User1'=>'400028',
'User2'=>'400027'
);
foreach($testfeld as $key=>$value) {
$_GET['cmd'] = 'modify';
include("testmodify.php");
}
如果我运行此代码,则会收到错误消息:
致命错误:无法在第39行的testmodify.php中重新声明show()(之前在testmodify.php:14中声明)
如果我执行此操作,它只会修改数组的第一个条目,然后抛出上面的错误消息。 可悲的是,我只能读取对testmodify.php的访问权限....那么有没有办法执行这个包括数组的所有内容?
答案 0 :(得分:1)
将代码放入函数中,包含一次,然后根据需要调用。
答案 1 :(得分:0)
您收到此错误,因为文件testmodify.php包含" show"的定义。由循环尝试定义对象的第二次包含文件再次显示,这是无法完成的。
这是另一个关于某人试图重新定义函数的问题。 Php and redifining
编辑:MilanG的另一个答案就是如何修复它。
答案 2 :(得分:0)
您可以执行类似(在testmodify.php脚本中):
if (!function_exists("show")) {
function show($parameters) {
/* do your stuff here */
}
}
在这种情况下,更好的做法是在testmodify.php脚本中执行include_once()
,使其指向您定义show()
函数的脚本文件。我的方法也适合你。
希望有所帮助:)