在我的Laravel项目中,我有一个点符号数组,我需要将其转换为多维数组。
数组是这样的:
$dotNotationArray = ['cart.item1.id' => 15421a4,
'cart.item1.price' => '145',
'cart.item2.id' => 14521a1,
'cart.item2.price' => '1245'];
如何将其扩展为如下数组:
'cart' => [
'item1' => [
'id' => '15421a4',
'price' => 145
],
'item2' => [
'id' => '14521a1',
'price' => 1245,
]
]
我该怎么做?
答案 0 :(得分:5)
您可以使用array_set()
:
array_set函数使用" dot"在深层嵌套数组中设置一个值。符号:
<强>尝试:强>
$multiDimensionalArray = [];
foreach ($dotNotationArray as $key => $value) {
array_set($multiDimensionalArray , $key, $value);
}
dump($multiDimensionalArray);
<强>解释强>
array_set()
将点符号格式的键的值设置为指定键,并输出类似['products' => ['desk' => ['price' => 200]]]
的数组。所以你可以遍历你的数组键来获得一个多维数组。