我有一个多维数组.阵列将具有不同的长度,并且它们很少具有相同的长度.我的问题是如何才能使数组以最大的大小共享数组的长度?
我的阵列:
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)
阵列大小不仅限于两个阵列.这是否可能,如果是这样,怎么样?
我只想复制数组键而不是值,这里的主要目的是在表中显示数组的内容.
这是一个选项,您可以在其中构建所有可能的数组键的数组,然后遍历原始数组并将空字符串设置为尚不存在的键:
// 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)