现在有一个文本格式的文件,内容大概下面这样2006/5
name pay1 pay2 re
wangli 300 150 ok
wangli 430 200 ok
zhaofeng 220 100 ok
duanli 100 200 ok
duanli 150 50 ok
weifeng 100 100 ok
liuyang 200 150 ok现在需要将name里相同的项合并,将后面的相关项相加,并按照pay1大小排序。然后生成一个用页面显示的表格,哪位大大能给写一下么。
name pay1 pay2 re
wangli 300 150 ok
wangli 430 200 ok
zhaofeng 220 100 ok
duanli 100 200 ok
duanli 150 50 ok
weifeng 100 100 ok
liuyang 200 150 ok现在需要将name里相同的项合并,将后面的相关项相加,并按照pay1大小排序。然后生成一个用页面显示的表格,哪位大大能给写一下么。
应该是这样
---------------------
wangli 300 150 ok
wangli 430 200 ok
zhaofeng 220 100 ok
duanli 100 200 ok
duanli 150 50 ok
weifeng 100 100 ok
liuyang 200 150 okinput_sort.php
---------------------
<?php
$afile = file("input.txt");
foreach($afile as $line)
{
$line1 = trim(preg_replace("/(\s+)/", " ",$line));
$aitem[] = explode(" ",$line1);
}
$aicount = count($aitem);
for($i = 1; $i < $aicount - 1; $i++)
{
if($aitem[$i][0] == $aitem[$i - 1][0])
{
$aitem[$i - 1][1] = $aitem[$i - 1][1] + $aitem[$i][1];
$aitem[$i - 1][2] = $aitem[$i - 1][2] + $aitem[$i][2];
unset($aitem1[$i]);
}
}
usort($aitem, 'sort_payl');
print_r($aitem); function sort_payl($a,$b)
{
if($a[1] == $b[1]) return 0;
return $a[1] > $b[1] ? -1 : 1;
}
?>
可是执行的时候出错PHP Notice: Undefined offset: 2 in C:\Program Files\DzSoft\PHP Editor\php29E.tmp on line 22 似乎是在说if($aitem[$i][0] == $aitem[$i - 1][0])这一行里的什么下标没有定义的意思吧
我自己修改了很久也没弄好
你能帮着再看一下么
另外,我经测试,运行正常,你执行出错,我不知道!