包含PHP文件并多次执行

时间:2015-02-20 13:02:06

标签: php foreach php-include

是的,我知道这可能不是执行此操作的最佳方式。但是我有一个脚本,我想用参数多次调用并移交两个变量。到目前为止我的代码看起来像这样:

$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的访问权限....那么有没有办法执行这个包括数组的所有内容?

3 个答案:

答案 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()函数的脚本文件。我的方法也适合你。

希望有所帮助:)