如果有任何帮助,我们将不胜感激。
本质上,我要做的是,对于每个"ticketX“数组,选择第一个响应(按日期),然后从服务台选择第一个响应。因此,通过下面的示例,我希望返回以下内容:
机票1
关键"2“和日期"2013-11-22 16:35:51”
关键"1“和日期"2013-11-22 16:51:15”
机票2
关键"5“和日期"2013-11-22 14:41:27”
关键"3“和日期"2013-11-22 15:47:02”
我想下一个逻辑是将这些结果放到另一个单独的数组中,然后我可以进行比较。这里的最终目标是计算服务台的响应时间,从客户的第一篇文章到服务台的回复。
我不知道该怎么处理这个问题,所以我被困住了。我可能会把一些东西拼凑在一起,但我宁愿先寻求指导!
现在我只有这个:
foreach($tickets AS $key => $value) {
if(count($value) > 1) {
foreach($value AS $value2) {
echo = $value2['created'];
}
}
}下面是数组的一个示例:
Array
(
[ticket1] => Array
(
[0] => Array
(
[created] => 2013-11-22 17:03:31
[author] => 1
)
[1] => Array
(
[created] => 2013-11-22 16:51:15
[author] => helpdesk
)
[2] => Array
(
[created] => 2013-11-22 16:35:51
[author] => 1
)
)
[ticket2] => Array
(
[0] => Array
(
[created] => 2013-11-22 16:48:17
[author] => helpdesk
)
[1] => Array
(
[created] => 2013-11-22 16:20:18
[author] => 1
)
[2] => Array
(
[created] => 2013-11-22 15:49:16
[author] => helpdesk
)
[3] => Array
(
[created] => 2013-11-22 15:47:02
[author] => helpdesk
)
[4] => Array
(
[created] => 2013-11-22 15:44:57
[author] => 2
)
[5] => Array
(
[created] => 2013-11-22 14:41:27
[author] => 1
)
)
)发布于 2013-11-25 04:26:40
听起来,从事件发生的那一刻,到服务台的第一次行动,你似乎一直在努力追踪。
如果是这样的话,您希望捕获数组中的第一个条目,以及数组中的第一个服务台条目。
一些让人回想起这一点的代码应该能工作。
$first = true;
$result = array();
foreach($tickets AS $key => $value) {
// if(count($value) > 1) {
foreach($value AS $value2) {
if($first){
$result[$key]['created'] = $value2['created'];
$first = false;
}else if('helpdesk' == $value2['author']){
$result[$key]['responded'] = $value2['created'];
break;
}
}
// } If check here is not actually required
}这将给出计算每一张票所需的两个变量。您应该能够使用php的date()和strtotime()函数来达到您的其他目标。
https://stackoverflow.com/questions/20184470
复制相似问题