如何将数据插入到php多维数组中

时间:2015-12-30 00:41:39

标签: php arrays multidimensional-array

这个应该是直截了当的,但我遇到了问题,因为我没有那么多的数组。

所以我尝试将数据插入到三维数组中,这是我的三维数组的结构:

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [name] => name
                    [by] => by
                    [imgUrl] => imgUrl
                    [linkUrl] => linkUrl
                    [date] => date
                )

            [1] => Array
                (
                    [name] => name
                    [by] => by
                    [imgUrl] => imgUrl
                    [linkUrl] => linkUrl
                    [date] => date
                )

        )

)

我试图向下推动现有数组,现有的[0]变为[1],等等。而新[0]将是表单中的发布数据。

我尝试了array_pusharray_splicearray_merge,但都无济于事。

2 个答案:

答案 0 :(得分:0)

如果我理解正确的话......

here's a fiddle.

$multi = array(
    "data" =>array(
        array(
            'something1' => 'something else',
            'something0' => 'something else',
            'something345' => 'something else'  
        ),
         array(
            'something1' => 'something else',
            'something0' => 'something else',
            'something345' => 'something else'  
        ),
    )    
);

$new = array(
    'something1' => 'something else',
    'something0' => 'something else',
    'something345' => 'something else'  
);

array_push($multi['data'], $new);

print_r($multi);

答案 1 :(得分:0)

您正在寻找array_unshift功能:

array_unshift($arr["data"], $new);

测试脚本:

$arr = Array(
    "data" => Array(
            Array(
                    "name" => "name",
                    "by" => "by",
                    "imgUrl" => "imgUrl",
                    "linkUrl" => "linkUrl",
                    "date" => "date"
                )
            ,Array(
                    "name" => "lastname",
                    "by" => "by",
                    "imgUrl" => "imgUrl",
                    "linkUrl" => "linkUrl",
                    "date" => "date"
                )
        )
);

$new = Array(
        "name" => "newname",
        "by" => "newby",
        "imgUrl" => "newimgUrl",
        "linkUrl" => "newlinkUrl",
        "date" => "newdate"
    );

array_unshift($arr["data"], $new);
print_r ($arr);

输出显示新元素向下推送其他元素:

array(1) {
  ["data"]=> array(3) {
    [0]=>  array(5) {
      ["name"]=> string(7) "newname"
      ["by"]=> string(5) "newby"
      ["imgUrl"]=> string(9) "newimgUrl"
      ["linkUrl"]=> string(10) "newlinkUrl"
      ["date"]=> string(7) "newdate"
    }
    [1]=> array(5) {
      ["name"]=> string(4) "name"
      ["by"]=> string(2) "by"
      ["imgUrl"]=> string(6) "imgUrl"
      ["linkUrl"]=> string(7) "linkUrl"
      ["date"]=> string(4) "date"
    }
    [2]=> array(5) {
      ["name"]=> string(9) "firstname"
      ["by"]=> string(2) "by"
      ["imgUrl"]=> string(6) "imgUrl"
      ["linkUrl"]=> string(7) "linkUrl"
      ["date"]=> string(4) "date"
    }
  }
}
相关问题