如何将多个阵列组合成一个新阵列?

时间:2011-12-22 19:37:53

标签: php arrays foreach scope array-push

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

$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'];

1 个答案:

答案 0 :(得分:1)

PHP有一个名为array_merge的函数,在你的情况下使用它你会这样做:

$array = array_merge($_POST, $_FILES);