简体   繁体   English

PHP数组合并数组

[英]php array of array merge

I have these two arrays: 我有这两个数组:

niceviewA Array ( niceviewA数组(

[0] => Array ( [dow] => Monday [goalamount] => 1000.00 ) 
[1] => Array ( [dow] => Tuesday [goalamount] => 1000.00 ) 
[2] => Array ( [dow] => Wednesday [goalamount] => 1500.00 ) 
[3] => Array ( [dow] => Thursday [goalamount] => 1800.00 ) 
[4] => Array ( [dow] => Friday [goalamount] => 1800.00 ) 
[5] => Array ( [dow] => Saturday [goalamount] => 2000.00 ) 
[6] => Array ( [dow] => Sunday [goalamount] => 1500.00 ) )

and this actualNet Array ( 和这个实际的网络数组(

[0] => Array ( [dow] => Friday [NetSales] => 1542.56 [ClosingBarTender] => Bill [OtherBartenders] => Jeremy,Rilee ) 
[1] => Array ( [dow] => Thursday [NetSales] => 1219.89 [ClosingBarTender] => Bill [OtherBartenders] => Vic ) 
[2] => Array ( [dow] => Wednesday [NetSales] => 1019.9 [ClosingBarTender] => Cora [OtherBartenders] => Tory ) 
[3] => Array ( [dow] => Tuesday [NetSales] => 1317.44 [ClosingBarTender] => Bill [OtherBartenders] => Bill ) 
[4] => Array ( [dow] => Monday [NetSales] => 907.85 [ClosingBarTender] => Rilee [OtherBartenders] => Bill ) 
[5] => Array ( [dow] => Sunday [NetSales] => 1954.84 [ClosingBarTender] => Rilee [OtherBartenders] => Ginger ) 
[6] => Array ( [dow] => Saturday [NetSales] => 2496.28 [ClosingBarTender] => Rilee [OtherBartenders] => LJ,Ginger ) )

I used array_replace_recursive , but that just joined them on index, I need to join them on the 'dow' element, so it would look like this: 我使用了array_replace_recursive ,但是只是将它们加入了索引,我需要将它们加入到'dow'元素中,所以看起来像这样:

actualNet Array ( 实际网络数组(

[0] => Array ( [dow] => Friday [NetSales] => 1542.56 [ClosingBarTender] => Bill [OtherBartenders] => Jeremy,Rilee [goalamount] => 1800.00) 
[1] => Array ( [dow] => Thursday [NetSales] => 1219.89 [ClosingBarTender] => Bill [OtherBartenders] => Vic [goalamount] => 1800.00) 
[2] => Array ( [dow] => Wednesday [NetSales] => 1019.9 [ClosingBarTender] => Cora [OtherBartenders] => Tory [goalamount] => 1500.00) 
[3] => Array ( [dow] => Tuesday [NetSales] => 1317.44 [ClosingBarTender] => Bill [OtherBartenders] => Bill [goalamount] => 1000.00) 
[4] => Array ( [dow] => Monday [NetSales] => 907.85 [ClosingBarTender] => Rilee [OtherBartenders] => Bill [goalamount] => 1000.00) 
[5] => Array ( [dow] => Sunday [NetSales] => 1954.84 [ClosingBarTender] => Rilee [OtherBartenders] => Ginger[goalamount] => 1500.00 ) 
[6] => Array ( [dow] => Saturday [NetSales] => 2496.28 [ClosingBarTender] => Rilee [OtherBartenders] => LJ,Ginger [goalamount] => 20000.00) )

Not like this: niceview2Array ( 不是这样的:niceview2Array(

[0] => Array ( [dow] => Friday [goalamount] => 1000.00 [NetSales] => 1542.56 [ClosingBarTender] => Bill [OtherBartenders] => Jeremy,Rilee ) 
[1] => Array ( [dow] => Thursday [goalamount] => 1000.00 [NetSales] => 1219.89 [ClosingBarTender] => Bill [OtherBartenders] => Vic ) 
[2] => Array ( [dow] => Wednesday [goalamount] => 1500.00 [NetSales] => 1019.9 [ClosingBarTender] => Cora [OtherBartenders] => Tory ) 
[3] => Array ( [dow] => Tuesday [goalamount] => 1800.00 [NetSales] => 1317.44 [ClosingBarTender] => Bill [OtherBartenders] => Bill ) 
[4] => Array ( [dow] => Monday [goalamount] => 1800.00 [NetSales] => 907.85 [ClosingBarTender] => Rilee [OtherBartenders] => Bill ) 
[5] => Array ( [dow] => Sunday [goalamount] => 2000.00 [NetSales] => 1954.84 [ClosingBarTender] => Rilee [OtherBartenders] => Ginger ) 
[6] => Array ( [dow] => Saturday [goalamount] => 1500.00 [NetSales] => 2496.28 [ClosingBarTender] => Rilee [OtherBartenders] => LJ,Ginger ) ) 

I have tried to iterate through the arrays, but I can't get a match on 'dow'. 我试图遍历数组,但无法在“ dow”上找到匹配项。 I'm so frustrated I have come to stackoverflow and hope some one can help! 我很沮丧,我来到了stackoverflow,希望有人能帮上忙! Thanks so much! 非常感谢!

$first = [ ['dow' => 'Monday' , 'goalamount' => 1000.00 ],
        ['dow' => 'Tuesday' , 'goalamount' => 1500.00 ],
        ['dow' => 'Wednesday' , 'goalamount' => 1800.00 ],
        ['dow' => 'Thursday' , 'goalamount' => 1800.00 ],
        ['dow' => 'Friday' , 'goalamount' => 2000.00 ],
        ['dow' => 'Saturday' , 'goalamount' => 1500.00 ],
        ['dow' => 'Sunday' , 'goalamount' => 1500.00 ],
    ];
    $second = [ [ 'dow' => 'Friday', 'NetSales' => 1542.56, 'ClosingBarTender' => 'Bill', 'OtherBartenders' => 'Jeremy,Rilee'],
        [ 'dow' => 'Thursday', 'NetSales' => 1219.89, 'ClosingBarTender' => 'Bill', 'OtherBartenders' => 'Vic'],
        [ 'dow' => 'Wednesday', 'NetSales' => 1019.9, 'ClosingBarTender' => 'Cora', 'OtherBartenders' => 'Tory'],
        [ 'dow' => 'Tuesday', 'NetSales' => 1317.44, 'ClosingBarTender' => 'Bill', 'OtherBartenders' => 'Bill'],
        [ 'dow' => 'Monday', 'NetSales' => 907.85, 'ClosingBarTender' => 'Rilee', 'OtherBartenders' => 'Bill'],
        [ 'dow' => 'Sunday', 'NetSales' => 1954.84, 'ClosingBarTender' => 'Rilee', 'OtherBartenders' => 'Ginger'],
        [ 'dow' => 'Saturday', 'NetSales' => 2496.28, 'ClosingBarTender' => 'Rilee', 'OtherBartenders' => 'JLJ,Ginger'],
    ];
    $result = [];
     foreach( $second as $key => $value) {
         foreach($first as $v ) {
            if($value['dow'] == $v['dow']) {
                $result[$value['dow']] = array_merge($value, [ 'goalamount'=> $v['goalamount'] ] ) ;
            }
       }
   }
        print_r(array_values($result));

Output: 输出:

 Array
(
    [0] => Array
        (
            [dow] => Friday
            [NetSales] => 1542.56
            [ClosingBarTender] => Bill
            [OtherBartenders] => Jeremy,Rilee
            [goalamount] => 2000
        )

    [1] => Array
        (
            [dow] => Thursday
            [NetSales] => 1219.89
            [ClosingBarTender] => Bill
            [OtherBartenders] => Vic
            [goalamount] => 1800
        )

    [2] => Array
        (
            [dow] => Wednesday
            [NetSales] => 1019.9
            [ClosingBarTender] => Cora
            [OtherBartenders] => Tory
            [goalamount] => 1800
        )

    [3] => Array
        (
            [dow] => Tuesday
            [NetSales] => 1317.44
            [ClosingBarTender] => Bill
            [OtherBartenders] => Bill
            [goalamount] => 1500
        )

    [4] => Array
        (
            [dow] => Monday
            [NetSales] => 907.85
            [ClosingBarTender] => Rilee
            [OtherBartenders] => Bill
            [goalamount] => 1000
        )

    [5] => Array
        (
            [dow] => Sunday
            [NetSales] => 1954.84
            [ClosingBarTender] => Rilee
            [OtherBartenders] => Ginger
            [goalamount] => 1500
        )

    [6] => Array
        (
            [dow] => Saturday
            [NetSales] => 2496.28
            [ClosingBarTender] => Rilee
            [OtherBartenders] => JLJ,Ginger
            [goalamount] => 1500
        )

)

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

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