像這樣的東西應該工作:
$config = array();
foreach(file('config.txt') as $line) {
list($keys, $value) = explode('=', $line);
$temp =& $config;
foreach(explode('.', $keys) as $key)
{
$temp =& $temp[$key];
}
$temp = trim($value);
}
閱讀每一行,在一段時間後,你會得到所有的鍵進入$keys
和價值爲$value
explode()
-ing on =
。然後,使用$temp
作爲指向$config
陣列的「指針」,我遍歷所有$keys
,它們分別由.
上的explode()
-ing提取,以形成多維陣列。一旦所有的密鑰用完,我將該值分配給該條目,並移至下一行。
你可以看到它在the demo中很好地工作。您的輸入,這將產生一個這樣的數組:
結果的
load_config_file('config.txt')
array(3) {
["id"]=>
string(3) "www"
["session"]=>
array(2) {
["timeout"]=>
string(3) "120"
["server"]=>
array(2) {
[0]=>
array(3) {
["host"]=>
string(9) "127.0.0.1"
["port"]=>
string(4) "1111"
["id"]=>
string(8) "session1"
}
[1]=>
array(3) {
["host"]=>
string(9) "127.0.0.1"
["port"]=>
string(4) "1111"
["id"]=>
string(8) "session2"
}
}
}
["image"]=>
array(3) {
["width"]=>
string(3) "640"
["height"]=>
string(3) "480"
["watermark"]=>
array(2) {
["small"]=>
string(10) "wsmall.png"
["normal"]=>
&string(11) "wnormal.png"
}
}
}
[這裏](http://viper-7.com/p1qnv4)是使用'print_r()'的更好的演示。 – nickb 2012-07-25 18:40:26