1

如何在php中合并多个数组

    $array1="Array ( [0] => mouse ) Array ( [0] => mac ) Array ( [0] => keyboard )";

我怎么能像这样排列

    Array( [0] =>mouse  [1] => mac [2] =>keyboard );
4

4 回答 4

1

你应该使用array_mergePHP的功能。

这个:

<?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

教程:

http://www.w3schools.com/php/func_array_merge.asp

http://php.net/array_merge

于 2013-11-06T17:39:13.573 回答
1

所以你基本上有一个数组数组。您可以通过以下方式执行此操作:

$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);
    }
}

注意:这将合并来自所有子数组的所有值,它不限于每个子数组一个条目。

于 2013-11-06T17:39:40.880 回答
1

根据您的数组的存储方式,有几个选项。

这里有 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>';
于 2013-11-06T17:27:20.993 回答
0

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
 )

更多信息:http ://us2.php.net/array_merge

于 2013-11-06T17:25:04.723 回答