如何向每个维数组数组添加一个元素?

时间:2015-04-27 15:12:29

标签: php arrays multidimensional-array elements

如何将元素添加到多维数组的数组中,这将为我提供如下代码

的输出

源代码: 看到有动态名称$ tgvalues ['Name'] = calneder                         产品                         财务提示                         健康小贴士                         个人事件

          foreach($json as $templategroup => $tgvalues){
                  $templateval1 = "emailtemplates?expand=".$tgvalues['Name'];
                  $final1 = str_replace(' ','%20',trim($templateval1));
                  $path1 = constant('AMT_BASE_PATH');
                  $url1 = $path1.$final1;
                  $url1;
                  $ch1=curl_init();
                  curl_setopt($ch1,CURLOPT_URL, $url1);
                  curl_setopt($ch1,CURLOPT_RETURNTRANSFER,1);
                  $buffer1 = curl_exec($ch1);
                  curl_close($ch1); 
                  $json1 = json_decode($buffer1, true);
                  $newarray =array('templatename' =>$tgvalues['Name']);
                  print_r(array_merge($json1,$newarray));
                  if (empty($buffer1)){
                      print "There are some problem";
                  } else {
                      $fetchtemplatename1 = Resources_Customers_Customer::fetchtemplategroups();
                      $insert1 = array_diff_assoc($json1, $fetchtemplatename1);

                      //print_r($insert1);
                      $arr_tampgrop =array();
                      foreach($json1 as $key1 => $value1)
                                {


                                    $arr_tampgrop[] =array('Id'=>$value1['Id'],'Name'=>$value1['Name'],'Subject'=>$value1['Subject'],'Body'=>$value1['Body'],'Href'=>$value1['Href']);


                                }
                                //$arrtempname = array($tgvalues['Name']);
                                $arraypush = array_push($arr_tampgrop,$arrtempname["templatename"] = $tgvalues['Name']);
                                print_r($arraypush); 

                              }

                            }

在源代码中我使用的是array_merge,参见line print_r(array_merge($ json1,$ newarray));

此代码,我现在正在

      Array
(
      [0] => Array
    (
        [Id] => 1
        [Name] => Merry Christmas                                   
        [Subject] => Merry Christmas
        [Body] => This is the body
        [Href] => 
    )

[1] => Array
    (
        [Id] => 2
        [Name] => Happy 4th of July                                 
        [Subject] => Happy 4th!
        [Body] => This is the body of a July message
        [Href] => 
    )

[templatename] => Calendar                                          
)
 3Array
(
   [0] => Array
    (
        [Id] => 3
        [Name] => New Product 1                                     
        [Subject] => See this new product
        [Body] => This is the body of a one new product
        [Href] =>
    )

[1] => Array
    (
        [Id] => 9
        [Name] => Drip product 1                                    
        [Subject] => Drip new product 1 subject
        [Body] => Drip new product 1 body
        [Href] => 
    )

[2] => Array
    (
        [Id] => 10
        [Name] => Drip product 2                                    
        [Subject] => Drip new product 2 subject
        [Body] => Drip new product 2 body
        [Href] => 
    )

[3] => Array
    (
        [Id] => 11
        [Name] => Drip product 3                                    
        [Subject] => Drip new product 3 subject
        [Body] => Drip new product 3 body
        [Href] => 
    )

[templatename] => Products                                          
)
5Array
(
   [0] => Array
    (
        [Id] => 4
        [Name] => Happy Birthday                                    
        [Subject] => Happy Birthday
        [Body] => This is the body of a birthday card
        [Href] => 
    )

[1] => Array
    (
        [Id] => 5
        [Name] => Happy Anniversary                                 
        [Subject] => Happy Anniversary
        [Body] => This is the body of a anniversary card
        [Href] => 
    )

[2] => Array
    (
        [Id] => 6
        [Name] => After Days 0                                      
        [Subject] => We are glad you joined x0 days ago
        [Body] => This is the body of a join x0 days ago card
        [Href] => 
    )

[3] => Array
    (
        [Id] => 7
        [Name] => After Days 1                                      
        [Subject] => We are glad you joined x1 days ago
        [Body] => This is the body of a join x1 days ago card
        [Href] => 
    )

[4] => Array
    (
        [Id] => 8
        [Name] => After Days 2                                      
        [Subject] => We are glad you joined x2 days ago
        [Body] => This is the body of a join x2 days ago card
        [Href] => 
    )

[templatename] => Personal Events                                   
  )
      6Array
         (
[0] => Array
    (
        [Id] => 12
        [Name] => Drip health tip 1                                 
        [Subject] => Drip health tip 1 subject
        [Body] => Drip health tip 1 body
        [Href] => 
    )

[1] => Array
    (    
        [templatename] => Health Tips
        [Id] => 13
        [Name] => Drip health tip 2                                 
        [Subject] => Drip health tip 2 subject
        [Body] => Drip health tip 2 body
        [Href] => 
    )

[2] => Array
    (
        [templatename] => Health Tips
        [Id] => 14
        [Name] => Drip health tip 3                                 
        [Subject] => Drip health tip 3 subject
        [Body] => Drip health tip 3 body
        [Href] => 
    )


      )
       4Array
        (
      [0] => Array
    (
        [Id] => 15
        [Name] => Drip financial tip 1                              
        [Subject] => Drip financial tip 1 subject
        [Body] => Drip financial tip 1 body
        [Href] => 
    )

[1] => Array
    (
        [Id] => 16
        [Name] => Drip financial tip 2                              
        [Subject] => Drip financial tip 2 subject
        [Body] => Drip financial tip 2 body
        [Href] => 
    )

[2] => Array
    (
        [Id] => 17
        [Name] => Drip financial tip 3                              
        [Subject] => Drip financial tip 3 subject
        [Body] => Drip financial tip 3 body
        [Href] => 
    )

[templatename] => Financial Tips                                    
  ) 

所以我希望下面的结果如下。是否有可能

      Array
(
      [0] => Array
    (   
        [templatename] => Calendar
        [Id] => 1
        [Name] => Merry Christmas                                   
        [Subject] => Merry Christmas
        [Body] => This is the body
        [Href] => 
    )

[1] => Array
    (
        [templatename] => Calendar
        [Id] => 2
        [Name] => Happy 4th of July                                 
        [Subject] => Happy 4th!
        [Body] => This is the body of a July message
        [Href] => 
    )


)
 3Array
(
   [0] => Array
    (
        [templatename] => Products
        [Id] => 3
        [Name] => New Product 1                                     
        [Subject] => See this new product
        [Body] => This is the body of a one new product
        [Href] =>
    )

[1] => Array
    (
        [Id] => 9
        [templatename] => Products
        [Name] => Drip product 1                                    
        [Subject] => Drip new product 1 subject
        [Body] => Drip new product 1 body
        [Href] => 
    )

[2] => Array
    (
        [templatename] => Products
        [Id] => 10
        [Name] => Drip product 2                                    
        [Subject] => Drip new product 2 subject
        [Body] => Drip new product 2 body
        [Href] => 
    )

[3] => Array
    (
        [templatename] => Products
        [Id] => 11
        [Name] => Drip product 3                                    
        [Subject] => Drip new product 3 subject
        [Body] => Drip new product 3 body
        [Href] => 
    )


)
 5Array
(
   [0] => Array
    (
        [templatename] => Personal Events
        [Id] => 4
        [Name] => Happy Birthday                                    
        [Subject] => Happy Birthday
        [Body] => This is the body of a birthday card
        [Href] => 
    )

[1] => Array
     (    
        [templatename] => Personal Events
        [Id] => 5
        [Name] => Happy Anniversary                                 
        [Subject] => Happy Anniversary
        [Body] => This is the body of a anniversary card
        [Href] => 
    )

[2] => Array
    (
        [templatename] => Personal Events
        [Id] => 6
        [Name] => After Days 0                                      
        [Subject] => We are glad you joined x0 days ago
        [Body] => This is the body of a join x0 days ago card
        [Href] => 
    )

[3] => Array
    (
        [templatename] => Personal Events 
        [Id] => 7
        [Name] => After Days 1                                      
        [Subject] => We are glad you joined x1 days ago
        [Body] => This is the body of a join x1 days ago card
        [Href] => 
    )

[4] => Array
    (
        [templatename] => Personal Events
        [Id] => 8
        [Name] => After Days 2                                      
        [Subject] => We are glad you joined x2 days ago
        [Body] => This is the body of a join x2 days ago card
        [Href] => 
    )


  )
      6Array
         (
[0] => Array
    (

        [templatename] => Health Tips
        [Id] => 12
        [Name] => Drip health tip 1                                 
        [Subject] => Drip health tip 1 subject
        [Body] => Drip health tip 1 body
        [Href] => 
    )

[1] => Array
    (
        [templatename] => Health Tips
        [Id] => 13
        [Name] => Drip health tip 2                                 
        [Subject] => Drip health tip 2 subject
        [Body] => Drip health tip 2 body
        [Href] => 
    )

[2] => Array
    (
        [templatename] => Health Tips
        [Id] => 14
        [Name] => Drip health tip 3                                 
        [Subject] => Drip health tip 3 subject
        [Body] => Drip health tip 3 body
        [Href] => 
    )


      )
     4Array
      (
   [0] => Array
    (
        [templatename] => Financial Tips
        [Id] => 15
        [Name] => Drip financial tip 1                              
        [Subject] => Drip financial tip 1 subject
        [Body] => Drip financial tip 1 body
        [Href] => 
    )

[1] => Array
    (
        [templatename] => Financial Tips
        [Id] => 16
        [Name] => Drip financial tip 2                              
        [Subject] => Drip financial tip 2 subject
        [Body] => Drip financial tip 2 body
        [Href] => 
    )

[2] => Array
    (
        [templatename] => Financial Tips
        [Id] => 17
        [Name] => Drip financial tip 3                              
        [Subject] => Drip financial tip 3 subject
        [Body] => Drip financial tip 3 body
        [Href] => 
    )


  ) 

3 个答案:

答案 0 :(得分:0)

从我所看到的你想要改变这一行

$arr_tampgrop[] =array('Id'=>$value1['Id'],'Name'=>$value1['Name'],'Subject'=>$value1['Subject'],'Body'=>$value1['Body'],'Href'=>$value1['Href']);

$arr_tampgrop[] =array('templatename'=>$tgvalues['Name'],'Id'=>$value1['Id'],'Name'=>$value1['Name'],'Subject'=>$value1['Subject'],'Body'=>$value1['Body'],'Href'=>$value1['Href']);

并删除任何添加templatename的行,例如

$newarray =array('templatename' =>$tgvalues['Name']);
print_r(array_merge($json1,$newarray));

&安培;

$arraypush = array_push($arr_tampgrop,$arrtempname["templatename"] = $tgvalues['Name']);

代码在每个数组的末尾添加了模板名称,而不是作为数组的一部分。它还会打印超出必要的数组,因此可以将它们注释掉,以便您更容易阅读输出。

答案 1 :(得分:0)

您可以使用array_map来完成此操作。它允许您将函数应用于任何数组的每个元素。在您的情况下,您可以通过将array_map应用于父数组来向每个子数组添加元素。

快速示例(可能需要调整以满足您的需求)

$newArray = array_map(
     function($subArr) use ($tgvalues) { return $subArr['templatename'] = $tgvalues['Name']; },
     $json1
);

回调函数只能访问正在处理的数组的键和值。要在回调中使用已定义的变量,请使用use ($var)

答案 2 :(得分:0)

在数组中获取templatename的值,就像我想要

的数组一样

与元素合并,即日历,健康提示,产品等。

然后在foreach中获取子数组的所有值并合并两个数组

$sess_id = session_id();