0

我有一个带有以下数组的 php 脚本(日期、任务、演员、hh:mm)。

大批
(
    [0] => 2013-01-29|拍电影|月桂树|07:30
    [1] => 2013-01-29|拍电影|哈代|00:30
    [2] => 2013-01-29|学习PHP|Hardy|07:00
    [3] => 2013-01-29|歌唱签名|基顿|07:30
    [4] => 2013-01-29|拍电影|劳埃德|07:30
    [5] => 2013-01-28|学习PHP|Laurel|07:30
    [6] => 2013-01-28|拍电影|哈代|07:30
    [7] => 2013-01-28|学习PHP|基顿|07:30
    [8] => 2013-01-28|拍电影|劳埃德|07:30
    [9] => 2013-01-27|学习PHP|Laurel|05:30
    [10] => 2013-01-27|拍电影|月桂树|02:30
    [11] => 2013-01-27|学习 PHP|Hardy|07:30
    [12] => 2013-01-27|拍电影|基顿|07:30
    [13] => 2013-01-27|拍电影|劳埃德|07:30
)

我想创建一个过滤器,列出任务并总结每个任务的时间值,例如:

学习 PHP(<-selected 选项)

2013-01-29 Hardy  07:00
2013-01-28 Laurel 07:30
2013-01-28 Keaton 07:30
2013-01-27 Laurel 05:30
2013-01-27 Hardy  07:30
=======================
TOTAL             35:00

实现这一点的方法是什么?任何建议或后续步骤都非常受欢迎。

4

1 回答 1

0

如果您有一个多维数组,这将更容易过滤。不过,这样的东西适用于当前结构:

$task = "Learning PHP";

foreach($arr as $k=>$v) {
    $pieces = explode("|", $v);
    if($pieces[1]==$task) {
        $total += (int) str_replace(':','',$pieces[3]);
        echo $pieces[0] . " " . $pieces[2] . " " . $pieces[3];
    }
}

echo "Total: " . $total;
于 2013-01-30T11:39:51.340 回答