繁体   English   中英

如何在PHP中将某个键的值从两个数组添加到一个新数组中?

[英]How do i add values of a certain key from two arrays into one new array in PHP?

我需要将一些通知合并为一个整体。

   array today = array( 
'keya' => '11',
'keyb' => 'string',
'notice' => 'Visitor Arrives at 3pm',
'keyd' => '44',
...
);

array general = array( 
'keya' => '1',
'notice' => 'Fire Alarms Tested This Week'
);

我想要一个名为$ general_notice的新数组,该数组将$ today ['notice']与$ general ['notice']合并。

我不明白使用运算符或array_merge做什么,因为我只有一个来合并特定键的数据...

注意:$ general可能有多行,即多条通知...

我想我不能使用array_merge因为数组是多维的。

例如:

//1st array with lots of data but the data belonging to the 'notice' key is what i'm interested in.
array $today = [0]('id'=>'1','lotsOfKeys'=>"lots of values,'notice'="Visitor arrives at 3pm");

array $general = [0]('id'=> '1', 'notice' = "Fire Alarms Tested This Week"),
                 [1]('id'=> '2', 'notice' = "Blue Shift working");

理想的结果是:

$notices = ("Visitor arrives at 3pm", "Fire Alarms Tested This Week", "Blue Shift Working");

由于您使用带有键的数组,并且每个数组不能有重复的键,因此所需的结果将很简单:

array general_notice = array($today['notice'], $general['notice']);

除非您具有二维数组数组,例如:

array general = array(
     array( 
         'keya' => '11',
         'keyb' => 'string',
         'notice' => 'Visitor Arrives at 3pm',
         'keyd' => '44'
      ),
      array( 
          'keya' => '1',
          'notice' => 'Fire Alarms Tested This Week'
      ),
      ...
);

在这种情况下,您将需要遍历notices数组,然后将所需的值推入一个新值。 您可以为要附加到general_notice数组的每个数组重复循环:

array general_notice = array();
foreach ($general as $value) {
    array_push($general_notice, $value['notice'] );
}

您还可以按如下所示附加任何一维数组

array_push($general_notice, $today['notice']);

问题尚不清楚,将它们合并意味着什么? 您是否尝试根据具有相同键的两个数组来串联键的值?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM