将PHP中的数组与值组合

将PHP中的数组与值组合,php,arrays,loops,multidimensional-array,Php,Arrays,Loops,Multidimensional Array,考虑以下多维数组: Array ( [submit] => yes [id] => [booking_id] => [booking_type_id] => Array ( [0] => 171 [1] => 58 ) [value] => Array ( [0] => 23 [1] => 46 ) ) 如何将其组合,以便booking_

考虑以下多维数组:

Array
(
[submit] => yes
[id] => 
[booking_id] => 
[booking_type_id] => Array
    (
        [0] => 171
        [1] => 58
    )

[value] => Array
    (
        [0] => 23
        [1] => 46
    )

)
如何将其组合,以便booking_type_id和value数组位于一个具有相同值的数组中:

Array
(
    [new_values] => Array
        (
            [171] => 23
            [58] => 46
        )

)

我尝试了数组合并和数组合并,但我无法让它保留密钥?我还尝试循环并添加到一个新数组。

您是如何使用
array\u combine
的。这应该适合你想要的结构。示例如下:

$multi = array(
    'submit'          => 'yes',
    'id'              => '',    
    'booking_id'      => '', 
    'booking_type_id' => array( 171, 58 ),
    'value'           => array( 23, 46 ),
);

$combined = array_combine( $multi['booking_type_id'], $multi['value'] );

您是如何使用
array\u combine
的。这应该适合你想要的结构。示例如下:

$multi = array(
    'submit'          => 'yes',
    'id'              => '',    
    'booking_id'      => '', 
    'booking_type_id' => array( 171, 58 ),
    'value'           => array( 23, 46 ),
);

$combined = array_combine( $multi['booking_type_id'], $multi['value'] );

一个简单的解决方案是循环通过
booking\u type\u id
数组,并将新数组中的值与以下值关联:

$array_1['booking_type_id'] = array(171,58);
$array_1['value'] = array(23,46);

$array_2 = array(); // new combined array

foreach ($array_1['booking_type_id'] as $key => $value) {
    $array_2[$value] = $array_1['value'][$key];
}
其结果是:

Array
(
    [171] => 23
    [58] => 46
)
更新:

正如其他人已经指出的那样,您也可以通过


一个简单的解决方案是循环通过
booking\u type\u id
数组,并将新数组中的值与以下值关联:

$array_1['booking_type_id'] = array(171,58);
$array_1['value'] = array(23,46);

$array_2 = array(); // new combined array

foreach ($array_1['booking_type_id'] as $key => $value) {
    $array_2[$value] = $array_1['value'][$key];
}
其结果是:

Array
(
    [171] => 23
    [58] => 46
)
更新:

正如其他人已经指出的那样,您也可以通过


您可以像这样使用
array\u combine()
函数:

$array['new_values'] = array_combine($array['booking_type_id'], $array['new_values']);

您可以像这样使用
array\u combine()
函数:

$array['new_values'] = array_combine($array['booking_type_id'], $array['new_values']);



请显示您已经尝试过的代码——循环/添加到新数组应该可以工作;您的实现中可能有一个bug。您能显示预期的数组结构吗?请显示您已经尝试过的代码——循环/添加到新数组应该可以工作;您的实现中可能有一个bug。您能显示预期的数组结构吗?这可能是最简单的方法。您只需确保每个数组中的元素数相同。这可能是实现这一点最简单的方法。您只需确保每个数组中的元素数相同即可。很高兴我能提供帮助!:)很高兴我能帮忙!:)