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

Форум PHP

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

 

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

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

тема: массив из файла
 
 автор: Veresk   (15.04.2008 в 16:14)   письмо автору
 
 

Добрый день, подскажите, пожалуйста, как из txt файла вида :

01.01.1936 - надпись 1
02.01.1928 - надпись 2
05.01.1903 - надпись 3
16.02.1911 - надпись 4
и т.д.

создать массив вида:

$a = array ("01.01."=>"надпись 1", "02.01."=>"надпись 2", "05.01."=>"надпись 3","16.02."=>"надпись 4", и т.д.)
Спасибо!!!

   
 
 автор: panandy   (15.04.2008 в 17:18)   письмо автору
 
   для: Veresk   (15.04.2008 в 16:14)
 

<pre>
<?
//Здесь вводим название файла
$text="file.txt";
$text=file_get_contents($text);
preg_match_all("/(\d{2}\.\d{2})\.\d{4} - (.*)/",$text,$res);

for($i=0;$i<count($res[1]);$i++)
{
$end[$res[1][$i]]=$res[2][$i];
}

print_r($end);

?>
</pre>

   
 
 автор: Usta   (15.04.2008 в 17:41)   письмо автору
 
   для: panandy   (15.04.2008 в 17:18)
 


<?php
  
// Имя файла
  
$filename "text.txt";
  
// Открываем файл для чтения
  
$fd fopen($filename"r");
  
// Читаем содержимое файла
  
$bufer fread($fdfilesize($filename));
  
// Закрываем файл
  
fclose($fd);
  
// Находим все строки при помощи регулярного выражения
  
preg_match_all("#(\d{2}\.\d{2})\.\d{4} - ([^\n]+)(\n|$)#U",
                 
$bufer
                 
$out);
  
// Формируем промежуточный массив
  
for($i 0$i count($out[1]); $i++)
  {
    
$temp[$out[1][$i]] = trim($out[2][$i]);
  }
  
// Сортируем массив
  
asort($temp);
  
// Формируем конечный массив
  
foreach($temp as $key => $value)
  {
    
$line[] = $key." ".$value;
  }
?>

   
 
 автор: Veresk   (16.04.2008 в 09:14)   письмо автору
 
   для: Usta   (15.04.2008 в 17:41)
 

Большое спасибо!!!

   
Rambler's Top100
вверх

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