0

我将$_POSTand$_FILES变量保存到我的 object 中的对象属性中newUpload。我正在尝试生成我的 SQL 更新语句,但在组合数组时遇到了问题。如何创建一个组合多个数组的数组?global 关键字令人困惑,应该避免出现?

$array = array();
foreach ($this->post as $value) {
    array_push($array, $value);
}
foreach ($this->files as $key => $value) {
    $list = array('name', 'type', 'size', 'extension', 'filetime');
    if (in_array($key, $list)) {
        array_push($array, $value);
    }
}
$array .= $this->moved['filepath'];
echo $array;

更新: 错误使用array_push而不是$array[] = $value. 我认为数组的范围是 foreach 循环的本地,但array_push函数是错误的。下面的代码有效。衷心感谢大家-您的评论确实帮助我想出了解决方案。

foreach ($this->files as $key => $value) {
    $array2 = array('name', 'type', 'size', 'extension', 'filetime');
    if (in_array($key, $array2)) {
        $array[] = $value;
    }
}        
$array = array_merge($array, $this->post);
$array[] = $this->moved['filepath'];
4

1 回答 1

1

PHP 有一个函数可以做到这一点,称为array_merge并在你的情况下使用它,你可以这样做:

$array = array_merge($_POST, $_FILES);
于 2011-12-22T19:41:57.153 回答