只讨论对ini的解析方法
例如
[Ini]
File=layout
layout.head.Module=Default
layout.head.Controller=Index
layout.head.Action=Head
layout.head.Option=
[New]
File=layout
head.Module=Default
head.Controller=Index
head.Action=Index
可以解析为:
$array[Ini][File]=layout
$array[Ini][layout][head][Module]=Default
$array[Ini][layout][head][Controller]=Index
等,这里面主要用到了一个递归思想,但是也很简单,算不上难
上面算是简化出来的代码,在_processKey($config,$key,$value)函数不断测试ini文件每一条记录的左部是否还存在分隔符‘.’,存在则递归,否则赋值,最后利用array_merge_recursive函数将数组进行拼接