【发布时间】:2018-05-25 05:19:17
【问题描述】:
我有以下数组:
$array = [
'2' => ['3' => ['56' => '2'], '6' => ['48' => '2']],
'4' => ['4' => ['433' => '2', '140' => '2'], '8' => ['421' => '2', '140' => '2']],
'5' => ['5' => ['88' => '4', '87' => '2']]
];
以下代码(展平)应该通过保留键返回它,但它没有?
collect($array)->flatten(1);
应该给我
[
'3' => ['56' => '2'],
'6' => ['48' => '2'],
'4' => ['433' => '2', '140' => '2'],
'8' => ['421' => '2', '140' => '2'],
'5' => ['88' => '4', '87' => '2']
]
但是它丢失了键,只给出了数组结果:/ 我用错了吗?我应该如何展平和保留密钥?
【问题讨论】:
-
我不相信
flatten支持维护密钥 - 如果较低级别的密钥不是唯一的,您希望它如何工作? -
好的,谢谢。回想起来为什么 flatten 不能保留键是有道理的。
标签: php laravel flatten collect