PHP对数组进行排序

PHP对数组进行排序,php,arrays,Php,Arrays,我遇到了这个问题: 我的输入文件(*.txt): 我想将此文件按如下数组排序: 2015-11-04 : 85456 2015-11-05 : 815245 2015-11-06 : 452004 2015-11-07 : 15000 2015-11-08 : 85259 $arr = Array(); $lines = explode('\n', file_get_contents("file.txt")); foreach($lines as $line){ $columns =

我遇到了这个问题:

我的输入文件(*.txt):

我想将此文件按如下数组排序:

2015-11-04 : 85456
2015-11-05 : 815245
2015-11-06 : 452004
2015-11-07 : 15000
2015-11-08 : 85259
$arr = Array();
$lines = explode('\n', file_get_contents("file.txt"));
foreach($lines as $line){
    $columns = explode(';', $line);
    while(empty($columns[count($columns) - 1])) array_shift($columns);
    if(count($columns) > 0) array_push($arr, $columns);
}
说明如何排序:

  • 今天-4天前
  • 按最早日期排序(2015-11-04至2015-11-08)
  • 我约会的最大索引[1]
  • 如果今天不在我的输入文件中,那么在我的输入文件中查找实际日期之后的最后一个日期
我希望你明白我的意思,你能帮助我


顺便说一句,很抱歉我的英语很差

你可以这样解析你的文件:

2015-11-04 : 85456
2015-11-05 : 815245
2015-11-06 : 452004
2015-11-07 : 15000
2015-11-08 : 85259
$arr = Array();
$lines = explode('\n', file_get_contents("file.txt"));
foreach($lines as $line){
    $columns = explode(';', $line);
    while(empty($columns[count($columns) - 1])) array_shift($columns);
    if(count($columns) > 0) array_push($arr, $columns);
}
而不是多维数组。文件的每一行都有一个条目。这些条目包含作为数组的行

然后,您可以自己进一步处理此阵列:

  • 检查每一行的年龄,如果年龄太大,则将其删除
  • 使用
    array\u multisort对数组进行排序(请参阅PHP手册)

  • 您想对文件进行排序吗?或者文件中的内容?请解释您尝试了哪些解决方案以及它们是如何失败的。@Alexartan我在这个问题中添加了我的解决方案,如下所示:answer@jochen我在这个问题上加上了我的答案