从文本文件读取到多维数组

时间:2014-09-02 11:07:33

标签: php arrays

我有这个文件,我想读入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);
?>

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

即使经过大量的谷歌搜索,我也找不到如何做到这一点的解决方案(所以如果我错过了一些明显的东西我道歉)所以我希望有人在这里帮助我。

提前致谢, 马库斯

1 个答案:

答案 0 :(得分:0)

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

并在从文件

中读取数据后使用 unserialize php
ex :

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


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