【问题标题】:Reading from text file into multidimentional array从文本文件读取到多维数组
【发布时间】:2014-09-02 11:07:33
【问题描述】:

我有这个文件,我想读入 php 中的多维数组:file。如果我以第一组行作为第一个示例,我希望 print_r 看起来像这样:

Array
(
    [SiiNunit] => Array
        (
            [0] => Array
                (
                    [economy] => _nameless.2BB8.4FB8
                    [economy_data] => Array
                        [0] => Array
                            (
                                [bank] = _nameless.2917.43B0
                                [player] = _nameless.2813.6928
                                [companies] = 312
                                [companies[0]] = company.volatile.euroacres.nurnberg
                                [companies[1]] = company.volatile.euroacres.erfurt
                                etc...

然后作为另一个例子,当它像这样列出所有作业时,在文件的下方:

job_offer_data : _nameless.2BD0.8940 {
 cargo: null
 company_truck: ""
 variant: nil
 target: ""
 expiration_time: nil
 urgency: nil
 shortest_distance_km: 0
 ferry_time: 0
 ferry_price: 0
 trailer_pos: (0, 0, 0) (1; 0, 0, 0)
 trailer_pos_valid: false
 license_plate: ""
}

我希望数组看起来像这样:

                    [job_offer] => _nameless.2BB8.4FB8
                    [job_offer_data] => Array
                        (
                            [0] => Array
                                (
                                    [cargo] = null
                                    [company_truck] = ""
                                    [variant] = nill
                                    [target] = ""
                                    etc...

我现在的代码是:

<?php

// Open the file
$fp = @fopen("game.sii", 'r'); 

// Add each line to an array
if ($fp) {
    $array = explode("\n", fread($fp, filesize("game.sii")));
}
print_r($array);
?>

这(正如我所期望的那样)将文件的每一行写入一维数组但是,我希望它将它写入多维数组=。

即使经过大量的谷歌搜索,我还是找不到解决方法(所以如果我遗漏了一些明显的东西,我深表歉意)所以我希望这里有人可以帮助我。

提前致谢, 马库斯

【问题讨论】:

  • 该文件中的数据来自哪里?
  • 您好,您说来自。如果您的意思是生成它的原因 - 它是一个游戏保存文件(由游戏创建),人们将上传并查看有关它的统计信息

标签: php arrays


【解决方案1】:

使用serialize php函数在将数据写入文件之前将其写入文件

并在从文件中读取数据后使用 unserialize php

ex :

$str = serialize($array); //then write it to file


$arr = unserialize($str); //after read from file

【讨论】:

  • 您好,感谢您的回答,但是,我似乎遗漏了一些东西,因为我看不到这如何让我将文件放入多维数组中?请您解释一下(我遇到问题的不是将数据插入数据库 - 我会更新问题以更好地反映这一点)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 2014-08-11
  • 2014-04-15
  • 1970-01-01
相关资源
最近更新 更多