PHP:编写和排序文件


PHP: Writing and sorting a file

我想写一个php函数,它需要$name和$time,并将其写入一个txt文件(没有mySQL),并对文件进行数字排序。

例如:

10.2342 bob
11.3848 CandyBoy
11.3859 Minsi
12.2001 dj
例如,

刚刚添加了Minsi下一个更快的时间。

如果$name在文件中已经存在,只有在时间比前一个更快(更小)时才重写,并且只有在时间小于300个条目时才写入,以保持文件小。

我的强项不是文件写入,但我猜测要使用file()将整个文件转换为数组,但对我来说,它并没有像我想要的那样工作。如有任何帮助,不胜感激

如果你的数据集很小,你可以考虑使用var_export()

function dump($filename, Array &$data){
    return file_put_contents('<?php return ' . var_export($data, true) . ';');
}
// create a data set
$myData = array('alpha', 'beta', 'gamma');
// save a data set
dump('file.dat', $myData);
// load a data set
$myData = require('file.dat');

使用PHP array_*函数执行排序,并在必要时转储。var_export()将数据保存为PHP可解析文本,这就是为什么dump()函数在字符串<?php return之前添加。当然,只有当您的数据集足够小,将其内容保存在内存中并非不合理时,这才是真正可行的选择。

尝试创建多维数组"$timeArray[key][time] = name",然后排序($timeArray)