我有一个带有我的车辆库存的csv文件,我想知道如何根据我有多长时间对该库存进行排序。
这是我想输出的内容 -
30辆0-30天的车
25辆汽车31-60天
10辆车60-90天
2辆车90天以上
我有一个名为$ numberDays的变量,它计算我拥有汽车的日子,并给我一个整数,如" 30"或者不管它是什么..
这是我的 - $ csv是数组
foreach($csv as $car){
//Calculate days in stock
$todaydate = date("m/d/Y");
$dis = $car[21]; //date stocked in
$startTimeStamp = strtotime($todaydate);
$endTimeStamp = strtotime($dis);
$timeDiff = abs($endTimeStamp - $startTimeStamp);
$numberDays = $timeDiff/86400;
$numberDays = intval($numberDays);
}
答案 0 :(得分:2)
$howlong = array("0-30days"=>0, "31-60days"=>0, "61-90days"=>0, "91+days"=>0);
foreach($csv as $car){
...
$numberDays = intval($numberDays); //last line in your code
if($numberDays<=30) $howlong["0-30days"]++;
elseif($numberDays<=60) $howlong["31-60days"]++;
elseif($numberDays<=90) $howlong["61-90days"]++;
elseif($numberDays>90) $howlong["91+days"]++;
}
echo $howlong["0-30days"]." cars 0-30 days old";
echo $howlong["31-60days"]." cars 31-60 days old";
//etc
答案 1 :(得分:0)
类似的东西应该适合你。这是未经测试的!
如果$ csv [n] [21]是包含日期的字符串,它应该有效。
// Simple Bubble-Sort
// Sorting by Date ASC
$changed = true;
while ($changed) {
$changed = false;
for ($n = 0; $n < count($csv) - 1; $n++) {
if (strtotime($csv[n][21]) > strtotime($csv[n + 1][21])) {
// Swap!
$tmp = $csv[n];
$csv[n + 1] = $csv[n];
$csv[n] = $tmp;
$changed = true;
// We could add a "break" here
}
}
}
好的,现在你更新了你的问题,我的答案不再适合你的问题。我还会将其留在这里进行其他关键字搜索。