我想写一个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)