无法将值推送到数组中

时间:2013-06-17 06:59:07

标签: php

我正在做的事情有一些愚蠢的错误,但由于某种原因我无法将另一个键值推送到数组数组......

以下是我要做的事情:

$result = mysqli_query($conn, $query) or die("Sql Error: " . mysqli_error($conn));  $creatives = array();
            while($row = mysqli_fetch_assoc($result)) {
                $elements[$row["id"]] = array("min_load_size" => $row["min_load_size"], 
                    "avg_load_size" => $row["avg_load_size"], "max_load_size" => $row["max_load_size"]);
            }

在此之后,我再次调用差异数据库,并且我想向每个数组添加另一个键/值对。代码看起来像这样:

    while($row = mysqli_fetch_assoc($result)) {
    $arr = $elements[$row["id"]];
    $arr["technical_attribute_id"] = $row["technical_attribute_id"];
}

之后我打印出我的元素数组,并且在任何底层数组中都没有“technical_attribute_id”。毫无疑问,id的关键在于关键。

由于

1 个答案:

答案 0 :(得分:1)

你应该使用引用:

$arr = &$elements[$row["id"]];

没有&该语句只会在执行下一个代码行后复制$elements[$row['id']]

或者,您可以输入整个内容:

$elements[$row["id"]]["technical_attribute_id"] = $row["technical_attribute_id"];