gpt4 book ai didi

arrays - 将点数组转换为关联数组

转载 作者:行者123 更新时间:2023-12-02 03:32:00 26 4
gpt4 key购买 nike

在 laravel 中,是否有任何函数可以将用点分隔的 string 转换为 associative array

例如:

user.profile.settings['user' => ['profile' => 'settings']] ?

我找到了方法 array_dot,但它的工作方式相反。

最佳答案

不,Laravel 默认只给你 array_dot()帮助程序,您可以使用它来将多维数组扁平化为点表示法数组。

可能的解决方案

最简单的方法是使用 this将 array_undot() 助手添加到 Laravel 的小包,然后就像包文档所说的那样,你可以做这样的事情:

$dotNotationArray = ['products.desk.price' => 100, 
'products.desk.name' => 'Oak Desk',
'products.lamp.price' => 15,
'products.lamp.name' => 'Red Lamp'];

$expanded = array_undot($dotNotationArray)

/* print_r of $expanded:

[
'products' => [
'desk' => [
'price' => 100,
'name' => 'Oak Desk'
],
'lamp' => [
'price' => 15,
'name' => 'Red Lamp'
]
]
]
*/

另一种可能的解决方案是使用以下代码创建辅助函数:

function array_undot($dottedArray) {
$array = array();
foreach ($dottedArray as $key => $value) {
array_set($array, $key, $value);
}
return $array;
}

关于arrays - 将点数组转换为关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51590485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com