php - 合并关联数组时计算空白

标签 php arrays syntax

我正在尝试合并这两个数组

$arr1 = array('a' => "1", 'b' => "2", 'c' => "3");
$arr2 = array('a' => "9", 'b' => "8", 'd' => "7");

变成这样的数组

$arr1 = array(  
   'a' => array("1", "9"),  
   'b' => array("2", "8"),  
   'c' => array("3", ""),
   'd' => array("", "7")
);

棘手的部分是空白。我需要将它们保存到位。

谢谢

最佳答案


function merge()
{

    $array_of_arrays = func_get_args();

    //get all the unique keys    
    $final_array_keys = array_keys( call_user_func_array( "array_merge", $array_of_arrays ) );

    //make final array
    $final_array = array();
    foreach( $final_array_keys as $key ) {
        foreach( $array_of_arrays as $current_array ) {
            $final_array[$key][] = array_key_exists( $key, $current_array ) ? $current_array[$key] : "";
        }
    }
    return $final_array;

}

关于php - 合并关联数组时计算空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639278/

相关文章:

php - 如何修复此代码以回显输出而不是未定义的? JSONP、PHP、MySQL

javascript - 使用现有数据格式化新数组 - 问题

java - Hamcrest 将 Map 与 String 数组值匹配

c - 如何在解析表达式语法(如 PEG.js)中处理语法上的歧义(如在 C 中)

c# - 具有 2 个处理程序的事件 Func<bool> : which return to expect?

php - 将 sql 转换为 Zend_Table

php - Mysql 一个父多个子结果不重复父行

php - 如何在不要求用户登录的情况下获取 Spotify api 访问 token ?

javascript - 从嵌套数组构建祖先列表

mysql - 如何将这些 SQL SELECT 查询组合成一个 SELECT 语句