新しい配列を作成するには、2つの多次元配列をマージする必要があります。
2つの配列は$_POST
および$_FILES
から作成され、それらを相互に関連付ける必要があります。
アレイ#1
Array
(
[0] => Array
(
[0] => 123
[1] => "Title #1"
[2] => "Name #1"
)
[1] => Array
(
[0] => 124
[1] => "Title #2"
[2] => "Name #2"
)
)
アレイ#2
Array
(
[name] => Array
(
[0] => Image001.jpg
[1] => Image002.jpg
)
)
新しいアレイ
Array
(
[0] => Array
(
[0] => 123
[1] => "Title #1"
[2] => "Name #1"
[3] => "Image001.jpg"
)
[1] => Array
(
[0] => 124
[1] => "Title #2"
[2] => "Name #2"
[3] => "Image002.jpg"
)
)
私が使用している現在のコードは機能しますが、配列の最後の項目に対してのみです。array_merge
関数をループすることで、ループごとに新しい配列をワイプすることを想定しています。
$i=0;
$NewArray = array();
foreach($OriginalArray as $value) {
$NewArray = array_merge($value,array($_FILES['Upload']['name'][$i]));
$i++;
}
これを修正するにはどうすればよいですか?
$i=0;
$NewArray = array();
foreach($OriginalArray as $value) {
$NewArray[] = array_merge($value,array($_FILES['Upload']['name'][$i]));
$i++;
}
[]は、上書きする代わりに配列に追加します。
組み込みの配列関数のいずれかを使用します。
array_merge_recursive
またはarray_replace_recursive
ループと配列表記のみを使用する:
$newArray = array();
$i=0;
foreach($arary1 as $value){
$newArray[$i] = $value;
$newArray[$i][] = $array2["name"][$i];
$i++;
}