PHP数组如何使它所有数组都具有相同的长度

mag*_*iam 0 php arrays

我有一个多维数组.阵列将具有不同的长度,并且它们很少具有相同的长度.我的问题是如何才能使数组以最大的大小共享数组的长度?

我的阵列:

Array
(
    [1] => Array
        (
            [Session 2] => Beer
            [Food] => Chicken
            [Drink] => Beer
        )

    [2] => Array
        (
            [Session 2] => Tea
            [Food] => Aaaa
            [Drink] => Ddd
            [Cake] => Weee
            [Brownies] => Rrrr
        )

)
Run Code Online (Sandbox Code Playgroud)

预期产量:

Array
(
    [1] => Array
        (
            [Session 2] => Beer
            [Food] => Chicken
            [Drink] => Beer
            [Cake] => ''
            [Brownies] => ''
        )

    [2] => Array
        (
            [Session 2] => Tea
            [Food] => Aaaa
            [Drink] => Ddd
            [Cake] => Weee
            [Brownies] => Rrrr
        )

)
Run Code Online (Sandbox Code Playgroud)

阵列大小不仅限于两个阵列.这是否可能,如果是这样,怎么样?

我只想复制数组键而不是值,这里的主要目的是在表中显示数组的内容.

Rob*_*ill 6

这是一个选项,您可以在其中构建所有可能的数组键的数组,然后遍历原始数组并将空字符串设置为尚不存在的键:

// find all possible keys
$keys = [];
foreach ($array as $entry) {
    $keys = array_merge($keys, array_keys($entry));
}

// pad missing keys with an empty string
foreach ($array as &$entry) {
    foreach ($keys as $key) {
        if (!isset($entry[$key])) {
            $entry[$key] = '';
        }
    }
}
Run Code Online (Sandbox Code Playgroud)