首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP包含字符串

PHP包含字符串
EN

Stack Overflow用户
提问于 2014-06-30 09:59:48
回答 1查看 93关注 0票数 0

我创建了一个方法,它将读取一个带有应用程序/八进制类型的文件,下面是一些代码。原始数据:

GTHHS;MEKID Interface;5496;2012-07-20; NM1;081;IN1;980898989;2001-01-15;Mr;Gaf;Uhkil;Uhkil,Gaf;PRI;Gaf

代码语言:javascript
代码运行次数:0
运行
复制
 $contents = file_get_contents($tmp_filename);
 $stringContents = explode(";", $contents); 

现在它给了我这个输出:

代码语言:javascript
代码运行次数:0
运行
复制
Array
(
    [0] => GTHHS
    [1] => MEKID Interface
    [2] => 5496
    [3] => 2012-07-20
NM1
    [4] => 081
    [5] => IN1
    [6] => 980898989
    [7] => 2001-01-15
    [8] => Mr
    [9] => Gaf
    [10] => Uhkil
    [11] => Uhkil,Gaf
    [12] => PRI
    [13] => Gaf
PR1
    [14] => 081
    [15] => IN1
    [16] => 20730089
    [17] => 7 The Schooner
    [18] => Auhaas
    [19] => Huuula Ave
    [20] =>  
    [21] => Kishma
PR2
    [22] => 081
    [23] => IN1
    [24] => 232323233
    [25] => 400006
    [26] => HGD
    [27] => M
    [28] => M
    [29] => 2007-10-16
    [30] => 1976-03-31
);

如何使NM1PR1成为数组的头:

代码语言:javascript
代码运行次数:0
运行
复制
Array (
     [NM1] = array(
            [0] => GTHHS 
            [1] => MEKID Interface 
            [2] => 5496 
            [3] => 2012-07-20
            )
);

我还计划把内部数组-3作为json。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-30 10:59:06

如果您用\n爆炸内容,则每一行都以该标识符开头。如果你只是在这一行的;爆炸,并把它作为一个子数组,你得到了你想要的。

实际上,这看起来像一个普通的旧CSV文件,在第一行中有您的ifentifier。如果是这样的话,可以尝试这样的方法:

代码语言:javascript
代码运行次数:0
运行
复制
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE)
{
    while (($row = fgetcsv($handle, 1000, ";", "\"", "\n")) !== FALSE)
    {
        $key = array_shift($row);
        $data[$key] = $row;
    }
    fclose($handle);
}

echo json_encode($data);

http://php.net/manual/en/function.str-getcsv.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24487516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档