sess.usr=200
sess.srv.0.host=192.168.0.1
sess.srv.0.port=25070
sess.srv.0.id=session1
Надо сделать так, чтобы получился многомерный массив вида:
$array['sess']['usr'] = '200';
$array['sess']['srv'][0]['host'] = '192.168.0.1';
$array['sess']['srv'][0]['port'] = '25070';
$array['sess']['srv'][0]['id'] = 'session1';
Я начал решать следующим образом. Подгружаю файл конфига через функцию parse_ini_file и заношу все данные в массив.
$array = parse_ini_file('file_conf.php');
foreach($array as $key => $value)
{
/* А вот тут возникли проблемы... */
}
Проблемы возникли при создании вложенного(многомерного) массива. Т.е. в цикле у нас получается при первом прохождении $key = 'sess.usr'. И вот как из этой строки сделать многомерный массив, да и ещё чтобы последний ключ был равен значению 200. В общем вот так:
$array['sess']['usr'] = '200';
Спустя 24 минуты, 44 секунды (8.08.2011 - 16:39) neadekvat написал(а):
Гы.
foreach($array as $key => $value)
{
$indexes = "['". str_replace('.', "']['", $key) . "']";
$key = '$arr'. $indexes ."='$value';";
eval($key);
}
print_r($arr);
Спустя 16 минут, 59 секунд (8.08.2011 - 16:56) ZeNkoT написал(а):
Благодарю
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 час, 24 минуты, 40 секунд (8.08.2011 - 18:21) jetistyum написал(а):
вы могли бы вынести названия секций, и парсить ини с секциями.