对php文件中的数据进行排序

对php文件中的数据进行排序,php,csv,sorting,Php,Csv,Sorting,我想对提取到.txt文件中的一些数据进行排序。 假设我的文件描述了多个产品,看起来是这样的: [ { "id" : 1, "Name" : "Steak", "Stock" : 42, "Date" : 29/10/2020 } { "id" : 2, "Name" : "Cheese&q

我想对提取到.txt文件中的一些数据进行排序。
假设我的文件描述了多个产品,看起来是这样的:

[
  {
    "id" : 1,
    "Name" : "Steak",
    "Stock" : 42,
    "Date" : 29/10/2020
  }
  {
    "id" : 2,
    "Name" : "Cheese",
    "Stock" 89,
    "Date" : 29/10/2020
  }
]
如何制作一个包含3行(id、名称和股票)的csv文件,然后将每个信息放在正确的行中?我希望它看起来像这样:


我想用php来做。我想确切地说,我正在展示一个示例,因为真实信息是保密的,所以我无法展示它。

如果您将JSON数据读入一个数组,然后迭代该数组,获取密钥并将其保存为标头,那么您应该能够将所有这些信息输出到一个csv字符串中,然后将其写入一个文件:

<?php
$string = // Read JSON into variable;

$data = json_decode($string, true);

$headers = [];
$output = [];

foreach ($data as $line => $item) {
    $output[$line] = [];
    foreach ($item as $key => $row) {
        if (!isset($headers[$key])) {
            $headers[$key] = $key;
        }
        $output[$line][$key] = $row;
    }
}

$outputString = '';
foreach ($headers as $header) {
    $outputString .= $header . ',';
}

rtrim($outputString, ',');
$outputString .= "\r\n";
foreach ($output as $row) {
    foreach ($headers as $header) {
        $outputString .= $row[$header] . ',';
    }
    rtrim($outputString, ',');
    $outputString .= "\r\n";
}

// Output $outputString to file;

搜索
如何在php中打开txt文件
如何在php中将json转换为数组
以及
如何在php中创建csv文件
您所说的所有事情都不是实际的“排序”。