2015-01-31 2 views
-1

Я создаю поисковую систему, используя связанный массив. Теперь я хочу создать ассоциативный массив пути, в котором я могу получить ключ как документ и значение как контент.Как сохранить содержимое каждого текстового файла в ассоциативный массив?

ниже мой код

$file= 'D:\\data\\awd_1990_00\\'; 
     $dictionary = array(); 
     $docCount = array(); 

     foreach($collection as $docID => $doc) { 
       $terms = explode(' ', $doc); 
       $docCount[$docID] = count($terms); 

       foreach($terms as $term) { 
         if(!isset($dictionary[$term])) { 
           $dictionary[$term] = array('df' => 0, 'postings' => array()); 
         } 
         if(!isset($dictionary[$term]['postings'][$docID])) { 
           $dictionary[$term]['df']++; 
           $dictionary[$term]['postings'][$docID] = array('tf' => 0); 
         } 

         $dictionary[$term]['postings'][$docID]['tf']++; 
       } 
     } 

     return array('docCount' => $docCount, 'dictionary' => $dictionary); 
} 
?> 

Как вы видели $collection является ассоциативным массивом, который я хочу сделать, пожалуйста, помогите мне

+0

помочь вам в Каким образом? В чем проблема? – DevDonkey

+0

@ MattHolbrook-Bull, поскольку у меня есть папка, в которой у меня есть многословные текстовые файлы, теперь я хочу создать ассоциативный массив этих файлов, например массив (50) { [1] => содержимое первого текстового файла [2] = > содержание 2-го текстового файла –

ответ

0

Попробуйте использовать эту функцию:

<?php 

    function extractDocuments($p_dir) { 

     if(!is_dir($p_dir)) { //Check if $p_dir is a valid directory 

     //Throw exception or return FALSE 
     } 

     $path=$p_dir; 
     $dir=scandir($path); //Load directory contents 
     $collection=array(); 

     foreach($dir as $file) { //Go through directory 
      if($file==".." || $file==".") {continue;} //Exclude parent directory and self 
      $collection[$file]=file_get_contents($path.$file); //Load file contents and save 
     } 

     return $collection; 
    } 

?> 
+0

спасибо человеку! ты замечательный, я работал над этим в течение дня, спасибо тебе много! –

Смежные вопросы