PHP:在自定义函数中从foreach返回值


PHP: return values from foreach inside a custom function

我写了一个foreach循环并保存了几行代码。它基本上接受所有的$_POST变量,并使用它们的名称来创建普通的php变量。

foreach(array_keys($_POST) as $str)
{
${$str}=mysqli_real_escape_string($connection,trim($_POST["$str"]));
}

它按预期工作,动态创建变量。

现在,我想把它放在一个自定义函数中,所以我这样修改它:

function createvariablesfromPOST()
{
    foreach(array_keys($_POST) as $str)
    {
    ${$str}=mysqli_real_escape_string($GLOBALS["connection"],trim($_POST["$str"]));
    }
    return //something;
}

它显然不起作用,因为我不知道如何使这个函数返回//某个东西(无论它是什么)到全局范围。这里该怎么办?

在循环完成之前,我无法使foreach循环返回任何内容。不是吗?

请帮忙。

分配用户提供的任意变量可能极其危险!它们可以覆盖您的任何变量。

它之所以不起作用,是因为它们不在全球范围内。你必须做一些类似$GLOBALS[$variable] = 'something'; 的事情

相反,您应该将变量分配给一个数组,以便它们与全局范围隔离。即CCD_ 2;