dqwnxdhb88531 2014-09-18 19:03
浏览 23
已采纳

如果最后一个来自同一用户,则对邮件进行分组

I have a chat and the messages are printed more or less like this:

Jhon: Hey!

Jhon: Fine?

Smith: Yeah, I'm fine. Thanks.

Jhon: That's nice!

To print that i have the code:

array(4) {
  [0]=>
  array(3) {
    ["from"]=>
    string(4) "Jhon"
    ["to"]=>
    string(5) "Smith"
    ["msg"]=>
    string(4) "Hey!"
  }
  [1]=>
  array(3) {
    ["from"]=>
    string(4) "Jhon"
    ["to"]=>
    string(5) "Smith"
    ["msg"]=>
    string(5) "Fine?"
  }
  [2]=>
  array(3) {
    ["from"]=>
    string(5) "Smith"
    ["to"]=>
    string(4) "Jhon"
    ["msg"]=>
    string(23) "Yeah, I'm fine. Thanks."
  }
  [3]=>
  array(3) {
    ["from"]=>
    string(4) "Jhon"
    ["to"]=>
    string(5) "Smith"
    ["msg"]=>
    string(12) "That's nice!"
  }
}

I want to show the messages like this:

Jhon: Hey!

Fine?

Smith: Yeah, I'm fine. Thanks.

Jhon: That's nice!

Thank you and sorry for my English.

  • 写回答

1条回答 默认 最新

  • doubairan4213 2014-09-18 19:13
    关注

    A little example to get you started:

    <?php
    
    $messages = array(
        array(
            "From" => "A",
            "To" => "B",
            "Msg" => "A first message"
        ),
        array(
            "From" => "A",
            "To" => "B",
            "Msg" => "A second message"
        ),
        array(
            "From" => "B",
            "To" => "A",
            "Msg" => "B first message"
        )
    );
    
    $previousSender = null;
    foreach($messages as $message) {
        if($previousSender == null || $previousSender != $message["From"])
            printf("%s: %s", $message["From"], $message["Msg"]);
        else
            printf("%s", $message["Msg"]);  
    
        $previousSender = $message["From"];
    }
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi