首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PHP数组中选择特定的键,然后进行比较

从PHP数组中选择特定的键,然后进行比较
EN

Stack Overflow用户
提问于 2013-11-25 03:53:23
回答 1查看 58关注 0票数 0

如果有任何帮助,我们将不胜感激。

本质上,我要做的是,对于每个"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”

我想下一个逻辑是将这些结果放到另一个单独的数组中,然后我可以进行比较。这里的最终目标是计算服务台的响应时间,从客户的第一篇文章到服务台的回复。

我不知道该怎么处理这个问题,所以我被困住了。我可能会把一些东西拼凑在一起,但我宁愿先寻求指导!

现在我只有这个:

代码语言:javascript
复制
foreach($tickets AS $key => $value) {
    if(count($value) > 1) {
        foreach($value AS $value2) {
            echo = $value2['created'];
        }
    }
}

下面是数组的一个示例:

代码语言:javascript
复制
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
                )

        )
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-25 04:26:40

听起来,从事件发生的那一刻,到服务台的第一次行动,你似乎一直在努力追踪。

如果是这样的话,您希望捕获数组中的第一个条目,以及数组中的第一个服务台条目。

一些让人回想起这一点的代码应该能工作。

代码语言:javascript
复制
$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()函数来达到您的其他目标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20184470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档