0

这是一个相当新手的问题 - 我已经在这里和互联网上查看了类似问题的类似解决方案,但是我似乎无法找到这个问题的问题所在。

我正在使用 PHP 并编写一些代码,将所有邮件数据从 API 中提取出来。但是我注意到加载时间非常慢,这是因为对于每封邮件的内容,我都在进行单独的查询。从那以后,我想出了如何一次性提取我正在寻找的东西,但是我无法将返回的数据添加到我在输出之前存储数据的二维数组中。

这是我下面的数组;

$mailMessage = array(
               array(
        'mailNumber' => $mailCount,
        'mailID' => $mailID,
        'mailDate' => $mailDate,
        'mailSender' => $mailSender,
        'mailSenderName' => null,
        'mailMsg' => null
        ));

这就是我尝试更新所述数组的方式;

    foreach ($mailMessage as &$row){
    if($row['mailID'] == $getMailID){
        $row['mailMsg'] = $body;
    break;
    }
}

因此,我正在检查 mailID 是否与我当前正在查看的相同,然后如果是,我正在尝试将该行上的数组的 mailMsg 部分更新为 $body。我检查了

然而,这不起作用。没有 PHP 错误消息出现 - (有时情况更糟!)而且我几乎把头从砖墙上撞了下来。

感谢您的阅读和您的时间,

杰米

4

1 回答 1

1

您是否有理由使用多维数组而不仅仅是关联数组?您没有迭代任何索引,因为聚合数组格式中不存在任何索引。正确的格式应该是:

多维:

$mailMessage = array(
    0 => array(
        'mailNumber' => $mailCount,
        'mailID' => $mailID,
        'mailDate' => $mailDate,
        'mailSender' => $mailSender,
        'mailSenderName' => null,
        'mailMsg' => null
    )
);

联想:

$mailMessage = array(
    'mailNumber' => $mailCount,
    'mailID' => $mailID,
    'mailDate' => $mailDate,
    'mailSender' => $mailSender,
    'mailSenderName' => null,
    'mailMsg' => null
);
于 2013-09-02T17:08:39.817 回答