Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите, пожалуста, разобрать файл
 
 автор: StealthForce   (04.04.2008 в 11:28)   письмо автору
33.7 Кб
 
 

Необходимо разобрать файл результатов измерений прибором и преобразовать в подобный вид(как удобнее вам), исходный файл прикреплён к посту:

Array
(
[0] => Array // signal
(
[date]=>27.06.2005
[time]=>11:18:53:279
[data]=> Array
(
[num]=>1
[val1]=>1,6000000000e+000
[val2]=>5,10086e-005
)

)

   
 
 автор: cheops   (04.04.2008 в 12:22)   письмо автору
 
   для: StealthForce   (04.04.2008 в 11:28)
 

Можно отталкиваться от следующего скрита
<?php
  $contents 
file_get_contents("data.txt");
  
$pattern "|Signal:[\s]+Signal[\s]+([\d]+).*?Date:".
             
"[\s]+([^\s]+)[\s]+Time:[\s]+([^\s]+)[\s]+".
             
".*?Z-axis:[\s]+[^\s]+[\s]+(.*?)TagsBegin:|is";
  
preg_match_all($pattern$contents$out);
  
$arr = array();
  
$pattern "#([\d]+)[\s]+([\d,\+\-e]+)[\s]+([\d,\+\-e]+)#is";
  for(
$i 0$i count($out[1]); $i++)
  {
    
$arr[$i]['date'] = $out[2][$i];
    
$arr[$i]['time'] = $out[3][$i];
    unset(
$data);
    
preg_match_all($pattern$out[4][$i], $data);
    for(
$j 0$j count($data[1]); $j++)
    {
      
$arr[$i]['data'][$j]['num1'] = $data[2][$j];
      
$arr[$i]['data'][$j]['num2'] = $data[3][$j];
    }
  }
  echo 
"<pre>";
  
print_r($arr);
  echo 
"</pre>";
?>

   
 
 автор: StealthForce   (04.04.2008 в 14:23)   письмо автору
 
   для: cheops   (04.04.2008 в 12:22)
 

Что вам сказать... Оперативно, четко и работает. Благодарствую вас за помощь.

   
 
 автор: Atheist   (04.04.2008 в 15:34)   письмо автору
 
   для: cheops   (04.04.2008 в 12:22)
 

> unset($data);
Не обязательно. preg_match(_all) очищает массив.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования