将多维 PHP 数组转换为带有点表示法键的二维数组
将多维 PHP 数组展平为带有点表示法键的二维数组可能会有益于各种场景。它允许您使用点表示法无缝访问嵌套数组值,从而增强了代码的可读性和可维护性。
转换嵌套数组的递归函数
幸运的是,PHP 提供了递归函数可以优雅地实现这种转换的函数:
$result = array();
$ritit = new RecursiveIteratorIterator(new RecursiveArrayIterator($myArray));
foreach ($ritit as $leafValue) {
$keys = array();
foreach (range(0, $ritit->getDepth()) as $depth) {
$keys[] = $ritit->getSubIterator($depth)->key();
}
$result[join('.', $keys)] = $leafValue;
}
说明:
输出:
此函数将生成所需的带有点表示法的二维数组键:
$newArray = array(
'key1' => 'value1',
'key2.subkey' => 'subkeyval',
'key3' => 'value3',
'key4.subkey4.subsubkey4' => 'subsubkeyval4',
'key4.subkey4.subsubkey5' => 'subsubkeyval5',
'key4.subkey5' => 'subkeyval5'
);
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3