解析 Mailgun headers

Parse Mailgun headers

我有来自 Mailgun webhook(已交付)的以下 JSON,我需要从中提取主题行。

它们似乎没有遵循典型的键值 JSON 格式,除了一堆 foreach 循环之外,有没有办法提取这些数据?

[["Received", "by luna.mailgun.net with SMTP mgrt 8734663311733; Fri, 03 May 2013 18:26:27 +0000"], ["Content-Type", ["multipart/alternative", {"boundary": "eb663d73ae0a4d6c9153cc0aec8b7520"}]], ["Mime-Version", "1.0"], ["Subject", "Test deliver webhook"], ["From", "Bob <bob@fvrs.org>"], ["To", "Alice <alice@example.com>"], ["Message-Id", "<20130503182626.18666.16540@fvrs.org>"], ["X-Mailgun-Variables", "{\"my_var_1\": \"Mailgun Variable #1\", \"my-var-2\": \"awesome\"}"], ["Date", "Fri, 03 May 2013 18:26:27 +0000"], ["Sender", "bob@fvrs.org"]]

它不是字典的原因是因为在电子邮件中,相同的 header 可以出现不止一次。

不过你只是一个循环:

$subject = null;
foreach ($data as $header) {
    if ($header[0] == 'Subject') {
        $subject = $header[1];
        break;
    }
}