Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 合并多个多维数组_Php_Arrays - Fatal编程技术网

Php 合并多个多维数组

Php 合并多个多维数组,php,arrays,Php,Arrays,我有一个可变数量的多维数组,但每个数组都有相同的4个可能值 例如: Array ( [companyid] => 1 [employeeid] => 1 [role] => "Something" [name] => "Something" ) 但是每个数组中可能有不同数量的物品 我想将所有数组转换为一个包含大量行的表。我尝试了array_merg

我有一个可变数量的多维数组,但每个数组都有相同的4个可能值

例如:

Array
    (
            [companyid] => 1      
            [employeeid] => 1
            [role] => "Something"
            [name] => "Something"
    )
但是每个数组中可能有不同数量的物品

我想将所有数组转换为一个包含大量行的表。我尝试了array_merge(),但最终得到的表是8,12,16。。。列而不是更多行

所以。。。有什么想法吗

谢谢

$array1=Array
(
“公司ID”=>1,
“雇员ID”=>4,
“角色”=>“某物”,
“名称”=>“某物”,
);
$array2=数组
(
“companyid”=>数组(2,2,2),
“雇员ID”=>5,
“角色”=>“某物2”,
“名称”=>“某物2”
);
$array3=数组
(
“公司ID”=>3,
“雇员ID”=>6,
“角色”=>“某物3”,
“名称”=>“某物3”
);
//使用数组合并
$main_array[“companyid”]=数组合并((数组)$array1[“companyid”],(数组)$array2[“companyid”],(数组)$array3[“companyid”]);
$main_数组[“employeeid”]=数组合并((数组)$array1[“employeeid”],(数组)$array2[“employeeid”],(数组)$array3[“employeeid”);

对于($i=0;$i未对其进行测试,但您可以尝试以下操作:

$table = array();
$columns = array('companyid' => '', 'employeeid' => '', 'role' => '', 'name' => '');
foreach($array as $item) {
    $table[] = array_merge($columns, $item);
}
这应该是可行的,因为有关array_merge的文档中说:

如果输入数组具有相同的字符串键,则后面的值 因为该键将覆盖上一个键


因此,您可以获取当前项目的值或可以在
$columns
数组中指定的默认值。

尝试将它们与+。$array=$array+另一个数组一起添加;请您再添加一些示例数组。我不确定“其中不同数量的项目”是什么意思。您的意思是有时值为空?或者在一个数组中可以有多组4个值?
$table = array();
$columns = array('companyid' => '', 'employeeid' => '', 'role' => '', 'name' => '');
foreach($array as $item) {
    $table[] = array_merge($columns, $item);
}