在 PHP 中将点表示法转换为多维数组
在 PHP 中,可以使用点表示法模拟多维数组结构,如“this .那个.其他”。但是,这可能会导致管理和编辑变得很麻烦。为了解决这个问题,我们寻求一种方法将点表示法转换为多维数组。
建议的解决方案采用以下函数:
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
此函数迭代由点分隔的键,一路上创建任何缺失的键,并最终分配所需的值。
例如,以下点表示法:
s1.t1.column.1 = size:33%
可以转换为多维数组,如下所示:
assignArrayByPath($source, 's1.t1.column.1', 'size:33%'); echo $source['s1']['t1']['column']['1']; // Output: size:33%
以上是如何将 PHP 点表示法字符串转换为多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!