Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用它将.txt文件内容转换为多维数组';当前格式_Php_Arrays_File_Multidimensional Array - Fatal编程技术网

Php 使用它将.txt文件内容转换为多维数组';当前格式

Php 使用它将.txt文件内容转换为多维数组';当前格式,php,arrays,file,multidimensional-array,Php,Arrays,File,Multidimensional Array,我有一个这种格式的文本文件,我想把它转换成一个数组 文本文件内容: Header = "This is header" Object class = "First" min_size = 0 max_size = 727.555 content= true size = 1 item []: item [1]: class = "Convert" name = "CONTENT" min_size = 0

我有一个这种格式的文本文件,我想把它转换成一个数组

文本文件内容:

Header = "This is header"
Object class = "First"

min_size = 0 
max_size = 727.555 
content= true 
size = 1 
item []: 
    item [1]:
        class = "Convert" 
        name = "CONTENT" 
        min_size = 0 
        max_size = 727.555 
        intervals: size = 474 
        intervals [1]:
            min_size = 0 
            max_size = 13.139997023062838 
            type = "" 
        intervals [2]:
            min_size = 13.139997023062838 
            max_size = 14.763036269953904 
            type = "this is a type" 
        intervals [3]:
            min_size = 14.763036269953904 
            max_size = 17.01 
            type = "" 
        intervals [4]:
            min_size = 17.01 
            max_size = 18.193 
            type = "" 
如果可能的话,我想将其转换为类似这样的数组:

Array
(
    [1] => 
        Array(
                ['min_size'] = 0,
                ['max_size'] = 13.139997023062838,
                ['type'] = ""
            )
    [2] => 
        Array(
                ['min_size'] = 13.139997023062838,
                ['max_size'] = 14.763036269953904,
                ['type'] = "this is a type"
            )
我已经试过这样的方法:

$file = "array.txt";// Your Temp Uploaded file
$cols = array();
ini_set('auto_detect_line_endings', true);

$fh = fopen($file, 'r');
$i = 0;

while (($line = fgetcsv($fh, 1000, "\t")) !== false) {
  $cols[] = $line;

  }

echo "<pre>";
print_r($cols); 
echo "</pre>";
$file=“array.txt”;//你的临时上传文件
$cols=array();
ini设置(“自动检测线结束”,true);
$fh=fopen($file,'r');
$i=0;
而($line=fgetcsv($fh,1000,“\t”)!==false){
$cols[]=$line;
}
回声“;
印刷费($cols);
回声“;
但这只是把所有东西都变成了一个数组

这可能吗


我已经研究过这一点:

具有
preg\u match\u all
array\u map
array\u combine
功能的复杂解决方案:

Array
(
    [0] => Array
        (
            [min_size] => 0
            [max_size] => 13.139997023062838
            [type] => 
        )

    [1] => Array
        (
            [min_size] => 13.139997023062838
            [max_size] => 14.763036269953904
            [type] => this is a type
        )

    [2] => Array
        (
            [min_size] => 14.763036269953904
            [max_size] => 17.01
            [type] => 
        )

    [3] => Array
        (
            [min_size] => 17.01
            [max_size] => 18.193
            [type] => 
        )
)

想解释下一次投票吗?又一次没有任何解释的下一次投票。谢谢“这可能吗?”不是一个合适的问题。“但这只是将所有内容转换为单个数组”-是的,因为这就是您在代码中所做的一切。当然,你需要做更多的事情,比如首先找到一种方法来确定哪些行是你感兴趣的。至少你已经评论过了。谢谢你的反馈。我希望有一个更直接的函数。我现在正在尝试检查选项卡并将其转换为数组。
fgetcsv
用于读取CSV“格式”中的数据。你这里没有,甚至没有。谢谢你。它可以工作,但我的文件有问题,我必须改变编码为UTF-8的工作。
Array
(
    [0] => Array
        (
            [min_size] => 0
            [max_size] => 13.139997023062838
            [type] => 
        )

    [1] => Array
        (
            [min_size] => 13.139997023062838
            [max_size] => 14.763036269953904
            [type] => this is a type
        )

    [2] => Array
        (
            [min_size] => 14.763036269953904
            [max_size] => 17.01
            [type] => 
        )

    [3] => Array
        (
            [min_size] => 17.01
            [max_size] => 18.193
            [type] => 
        )
)