有许多使用点符号访问PHP数组的提示和代码示例,但是我想做一些相反的事情。我想借一个多维数组是这样的:PHP - 使用点符号键将多维数组转换为二维数组
$myArray = array(
'key1' => 'value1',
'key2' => array(
'subkey' => 'subkeyval'
),
'key3' => 'value3',
'key4' => array(
'subkey4' => array(
'subsubkey4' => 'subsubkeyval4',
'subsubkey5' => 'subsubkeyval5',
),
'subkey5' => 'subkeyval5'
)
);
,把它变成这个(可能通过一些递归函数):
$newArray = array(
'key1' => 'value1',
'key2.subkey' => 'subkeyval',
'key3' => 'value3',
'key4.subkey4.subsubkey4' => 'subsubkeyval4',
'key4.subkey5.subsubkey5' => 'subsubkeyval5',
'key4.subkey5' => 'subkeyval5'
);
我想array_walk_recursive也许能帮助我建立新的钥匙,因为它似乎是它可以做很多繁重的递归的,但它不提供*的所有*键阵列。例如,在$ myArray上使用array_walk_recursive(通过PHP文档页面上的示例函数运行)只会向我提供没有数组值的键。我正在继续尝试使用一些很好的旧foreach循环来编写我自己的递归函数,但这是漫长的一天,正在伤害我的头。我会继续努力,如果我得到它(或更接近) – TheCheese