0

我想将多个数组组合成一个关联数组

喜欢

$big=array(
1=>$simpleArray1,
2=>$simpleArray2,
3=>$singleArray3
);

我知道上述分配方式是错误的,它实际上并没有包含数组。请推荐我最好的方法。谢谢 :)

编辑

所有这些数组都有相同的 keys,所以在这种情况下我应该如何继续。我知道钥匙应该是相同的,但我现在该怎么办!我很困惑,因为我需要n在每个数组中包含不同数据量的数组

4

2 回答 2

2

你想合并数组吗?

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

结果:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

http://php.net/manual/en/function.array-merge.php

编辑

所有这些数组都有相同的键,所以在这种情况下我应该如何继续。我知道钥匙应该是相同的,但我现在该怎么办!我很困惑,因为我需要在每个数组中包含 n 个具有不同数据量的数组

那么你希望它看起来如何?

你也可以

$all = array();
$all[] = $firstarray;
$all[] = $secondarray;
$all[] = $thirdarray;

but than you must do twice foreach, and you cannot search by id
foreach($all as $arr){
 foreach($arr as $item){
  echo $item["name"];
 }
}

主要问题是,你想用聚合数组做什么。如果您不关心钥匙,最坏的情况是

$arr = array();
foreach($arr1 as $v){$arr[] = $v;}
foreach($arr2 as $v){$arr[] = $v;}
foreach($arr3 as $v){$arr[] = $v;}
于 2013-03-29T14:47:10.243 回答
0

您可以使用array_merge($arr1, $arr2, ...). 请参阅此处并注意相同的密钥将被最新的密钥覆盖。

于 2013-03-29T14:49:33.583 回答