php数组函数解决方案


php array function solution

我有这样的数组:

Array
(
    [vd] => Array
        (
            [deal_id] => 811
            [settlement_dt] => 2013-01-16 00:00:00
            [pricing_dt] => 2013-01-08 00:00:00
            [maturity_dt] => 2022-07-25 00:00:00
        )
    [market] => Array
        (
            [market_type_desc] => Public
        )
    [issue] => Array
        (
            [issue_type_desc] => Kangaroo
        )
)

我想要这个格式:

Array
(   
            [deal_id] => 811
            [settlement_dt] => 2013-01-16 00:00:00
            [pricing_dt] => 2013-01-08 00:00:00
            [maturity_dt] => 2022-07-25 00:00:00     
            [market_type_desc] => Public
        [issue_type_desc] => Kangaroo
)

一行

$new_arr = call_user_func_array('array_merge', $arr);

工作演示

假设整个数组是$your_array。。。

array_merge( $your_array['vd'], $your_array['market'], $your_array['issue'] );

假设可以有更多的分支,您可以自动加入它们:

$array = [....];
$result = [];
foreach($array as $k => $a)
{
    if(is_array($a)) $result = array_merge($result, $a);
        else $result[$ka] = $a;
}
print_r($result);

试试这段代码,看看它是否对您有帮助。

$oldArray = Array
(
    'vd' => Array
    (
        'deal_id' => '811',
        'settlement_dt' => '2013-01-16 00:00:00',
        'pricing_dt' => '2013-01-08 00:00:00',
        'maturity_dt' => '2022-07-25 00:00:00',
    ),
    'market' => Array
    (
        'market_type_desc' => 'Public'
    ),
    'issue' => Array
    (
        'issue_type_desc' => 'Kangaroo'
    )
);
$newArray = array();
$newArray = array_merge($oldArray['vd'], $newArray);
$newArray = array_merge($oldArray['market'], $newArray);
$newArray = array_merge($oldArray['issue'], $newArray);

$newArray包含您需要的值。

干杯!

我希望它能在中工作

$initialArray = Array
(
    'vd' => Array
        ( 'deal_id' =>'811', 'settlement_dt' =>'2013-01-16 00:00:00', 'pricing_dt' => '2013-01-08 00:00:00', 'maturity_dt' => '2022-07-25 00:00:00'
        ),
    'market' => Array
        ( 'market_type_desc' => 'Public' ),
    'issue' => Array
        ( 'issue_type_desc' => 'Kangaroo' )
);
$finalArray = array();
$finalArray = array_merge($initialArray['vd'],$finalArray);
$finalArray = array_merge($initialArray['market'],$finalArray);
$finalArray = array_merge($initialArray['issue'],$finalArray);
echo "<pre>"; print_r($finalArray);

输出将为:

Array
(
    [issue_type_desc] => Kangaroo
    [market_type_desc] => Public
    [deal_id] => 811
    [settlement_dt] => 2013-01-16 00:00:00
    [pricing_dt] => 2013-01-08 00:00:00
    [maturity_dt] => 2022-07-25 00:00:00
)