在另一个多维数组中推送数组

时间:2017-11-09 13:59:55

标签: php arrays

我正在尝试在多维数组中添加值。以下是它应该如何

array(
    'name'  => 'Hotel',
    'placeholder'     => 'Select the hotel',
    'id'    => $prefix . 'confirmation_hotel',
    'type'  => 'select_advanced',
    'multiple'        => false,
    'options' => array(
        '5896' => 'Hotel 1',
        '6005' => 'Hotel 2'
    )
),

但是我从带有foreach循环的自定义函数中获取options的数据,下面给出的是代码。

global $bookyourtravel_accommodation_helper, $bookyourtravel_car_rental_helper;
$items = $order->get_items();
$names = array();

foreach ( $items as $item_id => $item ) {
    $bookyourtravel_theme_woocommerce = BookYourTravel_Theme_WooCommerce::get_instance();
    $bookyourtravel_theme_woocommerce->init();

    $order_names = $bookyourtravel_theme_woocommerce->order_item_name_confirmation($item);
}

$order_names输出:

array(2) {
  ["name"]=>
  string(17) "Hotel 1"
  ["id"]=>
  string(4) "5896"
}
array(2) {
  ["name"]=>
  string(26) "Hotel 2"
  ["id"]=>
  string(4) "6005"
}

现在我需要在上面给出的数组中添加这些数据。我不知道如何实现这一目标,有人可以帮助我。

2 个答案:

答案 0 :(得分:2)

在循环中,在$order_names分配后,添加:

$originalArray['options'][$order_names['id']] = $order_names['name'];

答案 1 :(得分:0)

我假设您在顶部的第一个数组称为$a

所以你可以在你的选项中添加一个数组元素'像这样的子数组:

foreach ($order_names as $order_name) {
  array_push($a['options'], array($order_name['id'] => $order_name['name']));
}