PHPで多くの配列をマージする方法
$array1="Array ( [0] => mouse ) Array ( [0] => mac ) Array ( [0] => keyboard )";
どうすればこのように配列できますか
Array( [0] =>mouse [1] => mac [2] =>keyboard );
array_merge
PHPの関数を使用する必要があります。
これ:
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_merge($a1,$a2));
?>
これを返します:
Array ( [0] => red [1] => green [2] => blue [3] => yellow )
それはケーキのように簡単です!:)
試してみてください: http://www.w3schools.com/php/showphp.asp?filename=demo_func_array_merge
チュートリアル:
したがって、基本的に配列の配列があります。これは次の方法で行うことができます。
$array = array(array(0 => 'mouse'), array(1 => 'mac'), array(2 => 'keyboard'));
$mergedArray = array();
foreach ($array as $part) {
$mergedArray = array_merge($mergedArray, $part);
}
var_dump($mergedArray);
結果はまさにあなたが期待するものです:
array(3) {
[0]=>
string(5) "mouse"
[1]=>
string(3) "mac"
[2]=>
string(8) "keyboard"
}
大きな配列にスカラーもある場合は、ループを次のように変更できます。
foreach ($array as $part) {
if (!is_array($part)) {
$mergedArray[] = $part;
} else {
$mergedArray = array_merge($mergedArray, $part);
}
}
注:これにより、すべてのサブ配列のすべての値がマージされます。サブ配列ごとに 1 つのエントリに限定されません。
php array_merge() 関数、1 つ以上の配列の要素を一緒にマージして、1 つの値が前の配列の末尾に追加されるようにします。結果の配列を返します。$array = array_merge( $array1 , $array2, $array3 ..... $arrayN); を使用して N 個の配列をマージします。
$array1 = array ( '0' => 'mouse' );
$array2 = array ( '0' => 'mac' );
$array3 = array ( '0' => 'keyboard' );
$array = array_merge( $array1 , $array2, $array3);
echo "<pre>";
print_r($array);
echo "</pre>";
O/P:
Array
(
[0] => mouse
[1] => mac
[2] => keyboard
)