如何在嵌套数组中添加数组(PHP Mongodb)

时间:2018-08-27 11:57:59

标签: php mongodb codeigniter

我在下面创建了一个数据集:

$dataset = array("name" => "Cat", 
    "uid" => 20, 
    "posterPath" => "http://xyz.png", 
    "rank" => 1, 
    "status" => 1, 
    $dataset["sources"] = array(array("url" => "xyz://1/0", 
            "sId" => "10", 
            "type" => "89"));

我现在已将此数据集存储在MongoDB中,我想在sources数组中添加一个源。 我尝试无法这样做。 首先,我从MongoDB加载了数据集,然后手动加载了源 $dataset["0"]["sources"];,但现在介绍如何添加一个源并将其添加到数据库。

请帮助。

2 个答案:

答案 0 :(得分:0)

如果您的数组结构是这样:

$dataset = array("name" => "Cat", 
"uid" => 20, 
"posterPath" => "http://xyz.png", 
"rank" => 1, 
"status" => 1, 
"sources" => array(
                array("url" => "xyz://1/0", 
                        "sId" => "10", 
                        "type" => "89")
            )
);

您可以使用以下方法将数组添加到源中:

$dataset['sources'][]=  array("url" => "xyz2://1/0", 
                        "sId" => "11", 
                        "type" => "90");

答案 1 :(得分:0)

$arrSource[] = [
             "url" => "xyz://1/0",
             "sId" => "10",
             "type" => "89"
        ];

// ...在这里,您可以将数据推送到$ arrSource

$dataset = [
           "name" => "Cat",
           "uid" => 20,
           "posterPath" => "http://xyz.png",
           "rank" => 1,
           "status" => 1,
           "sources" => $arrSource
        ];

现在,如果您希望向源中添加一个源,则只需将数据推入$arrSource数组中即可。