首页 > 解决方案 > 展平多维数组,同时从每个数组中删除一个元素

问题描述

是否可以展平多维数组,同时从每个子数组中删除一个元素?

目前,我为每个子数组存储两个元素,如下所示:

Array ( 
    [billing_first_name] => Array ( 
        [0] => Test 
        [1] => 1 
    ) 
    [billing_last_name] => Array ( 
        [0] => Test 
        [1] => 1 
    ) 
) 

但我需要删除第二个子元素,将数组展平为:

Array ( 
    [billing_first_name] => Test 
    [billing_last_name] => Test 
) 

我曾认为这可以通过 foreach 实现,但是从子数组中删除第二个元素后,我不确定哪种路线最有效地展平数组。

foreach( $customer_data_new as $key => $value ) {

    unset($customer_data_new[$key][1]);

}

如果有人可以解释最佳选择,我将不胜感激。

标签: phparrays

解决方案


你可以试试下面的代码

$customer_data_new  = array(
            'billing_first_name' => array(
                '0' =>'Test',
                '1' => 1
            ),
            'billing_last_name' => array(
                '0' =>'Test',
                '1' => 1
            )
        );

$newData = array();
foreach( $customer_data_new as $key => $value ) {
    $newData[$key] = $value[0];    
}
print_r($newData);

演示链接


推荐阅读