PHP合并多维数组的内部键

时间:2015-11-18 17:14:33

标签: php arrays

我正在尝试合并php数组的内部键。可能存在一些创建此数组的循环实例,其中在循环的不同迭代中生成相同的键。

我正在使用此方法创建我的大数组:

foreach ( $repeater as $file ) : if ($file) :
    loop stuff here;
    $fileArray[$parentCat][$fileCategoryName][] = $theFile;
endif; endforeach;

$postFiles[] = $fileArray; // inside a bigger loop to collect all data

我正在尝试合并数组构建过程的 $ parentCat

结果数组示例:

Array (
    [0] => Array (
        [Category Name] => Array (
            [Sub Category] => Array (
                'fieldvalue' => 'fieldvalue',
            ),
        ),   
    ),
    [1] => Array (
        [Category Name] => Array (
            [Different Sub Category] => Array (
                'differentfieldvalue' => 'differentfieldvalue',
            ),
        ),   
    ),      
),

我想合并类别名称,使其看起来像这样:

Array (
    [0] => Array (
        [Category Name] => Array (
            [Sub Category] => Array (
                'fieldvalue' => 'fieldvalue',
            ),
            [Different Sub Category] => Array (
                'differentfieldvalue' => 'differentfieldvalue',
            ),
        ),   
    ),     
),

我尝试过使用array_merge_recursive,array_merge和其他一些方法但没有成功。我觉得这很简单,我在看。

1 个答案:

答案 0 :(得分:1)

array_merge_recursive是正确的方法。但你不能用数组数组调用它,你需要用数组列表来调用它。

尝试以下方法,以解决您的问题:

$mergedPostFiles = call_user_func_array('array_merge_recursive', $postFiles);
相关问题