在从PDO查询填充数组之后,如何在PHP中将一个特定行添加到数组中?

在从PDO查询填充数组之后,如何在PHP中将一个特定行添加到数组中?,php,arrays,Php,Arrays,我的代码创建了这样一个数组 $stmt = $pdo->prepare("SELECT uniqueid, firstname, lastname, email, notify FROM information WHERE userid = ? AND notify = 'yes'"); $stmt->execute([$userid]); foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {

我的代码创建了这样一个数组

$stmt = $pdo->prepare("SELECT uniqueid, firstname, lastname, email, notify FROM information WHERE userid = ? AND notify = 'yes'");
    $stmt->execute([$userid]);
    foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
        //get emails
        $notifyemailsarray[$row['email']]=$row;
    }
在该查询运行之后,甚至可能在它运行之前,我想向该数组添加一组特定的数据,但只添加email、firstname和lastname。所以我试过这个

$specificemail="bobjones@example.com";
$specificfirstname="Bob";
$specificlastname="Jones";

    $notifyemailsarray[$specificemail] = array('firstname' => $specificfirstname, 'lastname' => $specificlastname); 

但是当我以后打印该数组时,我看不到单独添加的特定信息。我确实看到了从PDO查询中填充的数据,只是没有看到具体的内容。我做错了什么

你所做的没有错。唯一的问题是:

该电子邮件已经存在,因此您只是覆盖现有电子邮件,而不是在末尾添加一封。 您没有将电子邮件包含在阵列中如果您不需要它,这不是一个真正的问题,但它存在于您构建阵列时使用的原始数据中。 在黑暗中拍摄,但可能是范围或参考问题。e、 g.在函数内部添加最后一行,但在函数外部构建原始数组。函数内部只有原始数据的副本,因此更改不会影响函数外部。
这应该行得通,所以这里很可能有一些代码我们没有看到。你能展示关于这一点的完整代码,以及它的顺序吗?你收到电子邮件了吗bobjones@example.com可能也会出现在数据库中?你所做的没有错。唯一的问题是电子邮件已经存在,因此您只是覆盖现有的电子邮件,而不是将其添加到末尾。B您没有将电子邮件包含在阵列中,如果您不需要它,这不是一个真正的问题,但它存在于您构建阵列时使用的原始数据中。或C在黑暗中拍摄,但可能是范围或参考问题。e、 g.在函数内部添加最后一行,但在函数外部构建原始数组。函数内部只有原始数据的副本,因此更改不会影响函数外部。@Jonathan Kuhn这是场景a:。我没有意识到我添加的特定电子邮件已经在数据库中,并且已经是阵列的一部分,我道歉。但谢谢你这么说并引导我找到它。