0

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

1 に答える 1

1

PHP にはarray_mergeと呼ばれるこれを行う関数があり、あなたのケースでそれを使用するには、次のようにします。

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