所以我想创建一个PHP应用程序,它将找到" Amount"的最高价值。在我的CSV文件中。
我的csv文件如下所示:
Day Amount
1 10
2 17
3 22
4 48
5 12
...
首先,我做了这个,我把我的.csv文件解析成一个数组:
$fh = fopen($_FILES['file']['tmp_name'], 'r+');
$lines = array();
while( ($row = fgetcsv($fh, 8192)) !== FALSE ) {
$lines[] = $row;
}
如果我想循环使用" Amount"我现在应该怎么做?值,我想将最高值保存到变量$x
?
提前谢谢大家!
答案 0 :(得分:1)
您可以将内置的PHP max()用于一个维度数组,也可以循环检查自己http://php.net/manual/en/function.max.php
$x = max($lines);
$x = 0;
foreach($lines as $key=>$line){
if($line[1]) >$x){
$x = $line[1];
}
}
答案 1 :(得分:0)
创建另一个包含金额的数组,并获取其最大值。
$fh = fopen($_FILES['file']['tmp_name'], 'r+');
$lines = array();
$amounts = array();
while( ($row = fgetcsv($fh, 8192)) !== FALSE ) {
$lines[] = $row;
if (count($row) > 1 && is_numeric($row[1])) { // skip header
$amounts = $row[1];
}
}
$max_amount = max($amounts);
您还可以在读取线条时计算最大值。
$fh = fopen($_FILES['file']['tmp_name'], 'r+');
$lines = array();
$max_amount = 0;
while( ($row = fgetcsv($fh, 8192)) !== FALSE ) {
$lines[] = $row;
if (count($row) > 1 && is_numeric($row[1]) && $row[1] > $max_amount) { // skip header
$max_amount = $row[1];
}
}
答案 2 :(得分:-1)