douyan8027 2019-03-18 09:47
浏览 19
已采纳

如何从内容部分创建数组

I want to read a file into an array and use some of the content from the file as array keys.

Example

myfile.txt

 [SPLIT]
 #START:KEY1
 this is the content 
 #END:KEY1
 [SPLIT]
 #START:KEY2
 this is the next content 
 #END:KEY2
 ...

I load the content from the file

$File = file_get_contents(myfile.txt);

I split the content at the maker [SPLIT] and create a array

    $file_array = explode('[SPLIT]',$File);

    foreach($file_array as $element)
    {
      //search for '#START:' get the part after that till lineend, use this as ($key) a key for a new array
....
      $new[$key]=$element;
    }

So, my question is, is there a easier or faster way, to create a array from the filecontent wich looks like?

$myarray[KEY1]=this is the content
$myarray[KEY2]=this is the next content
  • 写回答

2条回答 默认 最新

  • douzhao1912 2019-03-18 10:06
    关注

    Did you tried to use regular expresions?

    $content = file_get_contents('file_name.txt');
    preg_match_all('/\[SPLIT\]
    #START:(.*?)
    (.*?)#END/s', $content, $rows);
    
    $data = [];
    foreach ($rows[1] as $i => $key) {
        $data[$key] = trim($rows[2][$i]);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗