Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017
Откуда: Германия, Бавария
Помог: 37 раз(а)
|
Грачи прилетели пишет:Добрый день!
Прошу совета -
мне необходимо распарсить конфигурационный файл
значения этих блоков необходимо проинсертить в одну таблицу
name - section
val - все строки это секции
вместе с этим в файле есть строки комментарием отделенные # их отсеиваю в том же цикле ниже
не могу понять как мне в цикле проиграть группу и строку из группы
Добрый день!
Попробуйте сделать так: Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
<? $file = <<<EOF [section1] 11111 22222 #privet 33333 44444 [section2] 11111 33333 77777 [section3] 2222 3333 # 1111 5555 EOF; //$file = <<<EOF ... EOF; только для демо //$file = file("file_name"); нужно открыть $buf=[]; foreach($arr as $line){ echo "$line<br>"; } echo "<pre>"; $query = "INSERT INTO `tbl_tmp` ( `name`, `val` ) VALUES "; foreach($buf as $key=>$arr) foreach($arr as $val) $values[]="( '$key', '$val')"; echo $query; /* Результат: [section1] 11111 22222 #privet 33333 44444 [section2] 11111 33333 77777 [section3] 2222 3333 # 1111 5555 Array ( [section1] => Array ( [0] => 11111 [1] => 22222 [2] => 33333 [3] => 44444 ) [section2] => Array ( [0] => 11111 [1] => 33333 [2] => 77777 ) [section3] => Array ( [0] => 2222 [1] => 3333 [2] => 1111 [3] => 5555 ) ) INSERT INTO `tbl_tmp` ( `name`, `val` ) VALUES ( 'section1', '11111'),( 'section1', '22222'),( 'section1', '33333'),( 'section1', '44444'),( 'section2', '11111'),( 'section2', '33333'),( 'section2', '77777'),( 'section3', '2222'),( 'section3', '3333'),( 'section3', '1111'),( 'section3', '5555') */ ?>
Удачи!
|