Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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_Multidimensional Array_Merge - Fatal编程技术网

Php 数组合并并显示空数据

Php 数组合并并显示空数据,php,multidimensional-array,merge,Php,Multidimensional Array,Merge,我有两个数组,如下所示 $array1 = array("color" => "red","size" => "32"); $array2 = array("color" => "blue","width" => "40"); 我的php代码如下 <?php $array1 = array("color" => "red","size" => "32"); $array2 = array("color" =>

我有两个数组,如下所示

$array1 = array("color" => "red","size" => "32");
$array2 = array("color" => "blue","width" => "40");
我的php代码如下

    <?php
        $array1 = array("color" => "red","size" => "32");
        $array2 = array("color" => "blue","width" => "40");
        $result = array_merge_recursive($array1, $array2);
        echo json_encode($result);
?>
我想得到像这样的输出

{
color: [
"red",
"blue"
],
size: [
"32",
""
],
width: [
"",
"40"
]
}
我怎么能得到这个?请快点帮我


提前感谢。

使用数组\u与默认值数组合并

$array1 = array("color" => "red","size" => "32");
$array2 = array("color" => "blue","width" => "40");
$arrayInit = array("color" => "","width" => "","size"=>"");
$array1 = array_merge($arrayInit,$array1);
$array2 = array_merge($arrayInit,$array2);
$result = array_merge_recursive($array1, $array2);
echo json_encode($result);
$array1 = array("color" => "red","size" => "32");
$array2 = array("color" => "blue","width" => "40");
$arrayInit = array("color" => "","width" => "","size"=>"");
$array1 = array_merge($arrayInit,$array1);
$array2 = array_merge($arrayInit,$array2);
$result = array_merge_recursive($array1, $array2);
echo json_encode($result);
$keys = array_keys(array_merge($array1, $array2)); // get all the keys
foreach ($keys as $key) {
    // set each key in the result array to the value from the input array or a default ''
    $result[$key][] = isset($array1[$key]) ? $array1[$key] : '';
    $result[$key][] = isset($array2[$key]) ? $array2[$key] : '';
}
echo json_encode($result);