如何在不将整个文件加载到内存的情况下对 PHP 中的 CSV 文件进行排序?
How to sort a CSV file in PHP without loading the entire file into memory?
我正在尝试编写一个 PHP 脚本,它将按一列或多列处理 CSV 文件的排序并将结果输出到另一个文件。
有没有办法在不将 CSV 文件完全加载到内存的情况下对其进行排序?
没有没有合理的办法。您需要内存中的数据进行比较并写入文件。
如果您知道每行的长度,则可以尝试冒泡排序。读取新 "ordered" 文件的一行原始内容和最后一行。比较它们并在新文件中追加或添加。在此迭代之后,再次以新文件为原点,直到它被排序。
您应该使用像 MySQL 这样的数据库。
我正在尝试编写一个 PHP 脚本,它将按一列或多列处理 CSV 文件的排序并将结果输出到另一个文件。
有没有办法在不将 CSV 文件完全加载到内存的情况下对其进行排序?
没有没有合理的办法。您需要内存中的数据进行比较并写入文件。
如果您知道每行的长度,则可以尝试冒泡排序。读取新 "ordered" 文件的一行原始内容和最后一行。比较它们并在新文件中追加或添加。在此迭代之后,再次以新文件为原点,直到它被排序。
您应该使用像 MySQL 这样的数据库。