【问题标题】:Best way to sort arrays in PHP在 PHP 中对数组进行排序的最佳方法
【发布时间】:2015-02-10 10:16:38
【问题描述】:

我在这里遇到了一个复杂的问题,经过几个月的研究,我仍然找不到更方便的方法。

我有一个网站,它读取 JSON 文本文件并将该 JSON 文件中的信息作为表格显示到网页中。 JSON 文件包含日期、操作、用户等字段。

我目前的做法是添加一个文件上传 HTML 标签,以便用户可以选择要读取的 JSON 文件。我别无选择,只能进行文件上传,因为我看不到其他方法,但我真的不想将这些文件上传到服务器,我只需要阅读内容。无论如何,在上传文件并将内容读入变量后,我必须将这些文件存储到 MySql 数据库中,以便我可以按日期对它们进行排序,我必须能够显示按日期排序的表格。

我有 2 个问题;

  • 有没有其他方法可以在不上传文件的情况下读取文本文件内容?
  • 是否有某种简单的方法可以对数组进行排序(按日期)?

【问题讨论】:

  • PHP order array by date?的可能重复
  • uasort() 进行排序。将文件上传到/tmp,您的操作系统将自动清除它 - 或使用 pastebin API 和file_get_contents(取决于这些文件包含的信息)。虽然,我认为这个问题与固执己见的答案无关。
  • 我做对了吗,经过 几个月 的研究,您能做的最好的事情就是将数组保存到 mySQL,以便在查询时按日期排序?您在几个月的研究中没有偶然发现 uasort() 和类似函数?
  • 如果需要读取服务器上的数据,则需要上传该数据;上传文件和传输该文件的内容没有区别。如果您只需要在用户浏览器上重新显示数据,而服务器不需要知道内容,那么您可以使用 File API 在 JS 中完成所有操作(请参阅MDN 或 WPD)。跨度>

标签: php mysql arrays json sorting


【解决方案1】:

1) 您可以在用户本地计算机上读取文件,但这必须使用 JavaScript 完成,并且有很多限制。 http://dev.w3.org/2006/webapi/FileAPI/

我还是建议上传文件,做你想做的,然后删除(unlink())文件。

2) PHP order array by date?

【讨论】:

    【解决方案2】:

    1) 有一种方法可以使用 Javascript 文件阅读器读取文件。也许你会发现this link 很有帮助。 如果您选择不使用 Javascript,则必须在读取文件之前将文件上传到服务器。您可以将其上传到临时位置,并在阅读完内容后将其删除。

    2) 除了其他答案中给出的想法之外,您可能还想看看 PHP 的 array_multisort 函数。

    【讨论】:

      【解决方案3】:

      为什么不将 JSON 数据直接存储到数据库中? 您不必上传文件(只需执行 sql 插入),您可以添加日期并对其进行排序...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-07
        • 2017-05-23
        • 1970-01-01
        • 2014-09-16
        • 1970-01-01
        • 2013-07-20
        相关资源
        最近更新 更多