如何在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);
}
}
注意:这将合并来自所有子数组的所有值,它不限于每个子数组一个条目。
根据您的数组的存储方式,有几个选项。
这里有 2 个例子:
<?php
$old_array = array(
array('mouse'),
array('mac'),
array('keyboard')
);
$new_array = array();
foreach($old_array as $a){
$new_array[] = $a[0];
}
echo '<pre>',print_r($new_array),'</pre>';
//// OR ////
$array1 = array('mouse');
$array2 = array('mac');
$array3 = array('keyboard');
$new_array = array_merge($array1,$array2,$array3);
echo '<pre>',print_r($new_array),'</pre>';
php array_merge() 函数,将一个或多个数组的元素合并在一起,以便将一个数组的值附加到前一个数组的末尾。它返回结果数组。使用 $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>";
输出/输出:
Array
(
[0] => mouse
[1] => mac
[2] => keyboard
)