2015-12-30 94 views
1

这应该是直截了当的,但我有问题,因为我没有处理数组。如何将数据插入到php多维数组

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

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_push,array_splice,array_merge,但都无济于事。

+0

Rizier123,我曾尝试:array_push($ JSON [数据],$ updatejson); – Mike113

+0

删除了其他评论,现在我看到你想要的。 – Rizier123

回答

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); 
+0

这就是OP已经做了什么:http://stackoverflow.com/questions/34521356/how-to-insert-data-into-php-multi-dimensional-array#comment56784327_34521356 – Rizier123

+0

怀疑它。如果他这样做,他不会发布。不要相信一切都会告诉你。 –

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" 
    } 
    } 
}