亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 從數組內的數組形成自定義數組

PHP 從數組內的數組形成自定義數組

PHP
達令說 2022-09-03 15:55:59
我有一個三個月的數組,其中有三個月的數據,它保存儲蓄和折扣信息,如下所示:graphData持有DataArr。[DataArr] =>數組    [0] => Array            (             [data] => Array                 (                   [0] => Array                       (                         [Month] => 10 Jan 2019                        [Cost] => 60.3                        [Name] => Savings                      )                   [1] => Array                       (                         [Month] => 10 Feb 2019                        [Cost] => 45.3                        [Name] => Savings                      )                   [2] => Array                       (                         [Month] => 10 Mar 2019                        [Cost] => 50.6                        [Name] => Savings                      )                )           )    [1] => Array            (             [data] => Array                 (                   [0] => Array                       (                         [Month] => 10 Jan 2019                        [Cost] => 89.62                        [Name] => Discount                      )                   [1] => Array                       (                         [Month] => 10 Feb 2019                        [Cost] => 20.2                        [Name] => Discount                      )                   [2] => Array                       (                         [Month] => 10 Mar 2019                        [Cost] => 0.0                        [Name] => Discount                      )                )           )必需數組 - 傳遞到莫里斯.js折線圖你能告訴我如何使用PHP將它放入所需的數組中嗎?我也嘗試了使用JQuery Array方法array_push和其他方法,但我的所有努力都失敗了,我在過去的3天里一直在研究這個問題,非常感謝任何幫助。甚至嘗試使用PHP foreach,但即使失敗了,也錯過了一些東西,并且沒有更多關于如何讓它工作的想法!如果你們中有人對此有很多想法,請告訴我。
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

<?php


$graphData =

    array(

        'DataArr' => 

        array

            (

            array(

             'data' => array

                 (

                   array 

                      ( 

                        'Month' => '10 Jan 2019',

                        'Cost' => 60.3,

                        'Name' => 'Savings'

                      ),

                   array 

                      ( 

                        'Month' => '10 Feb 2019',

                        'Cost' => 45.3,

                        'Name' => 'Savings'

                      ),

                   array 

                      ( 

                        'Month' => '10 Mar 2019',

                        'Cost' => 50.6,

                        'Name' => 'Savings'

                      )

                )

            ),

            array

            (

             'data' => array

                 (

                   array 

                      ( 

                        'Month' => '10 Jan 2019',

                        'Cost' => 89.62,

                        'Name' => 'Discount'

                      ),

                   array 

                      ( 

                        'Month' => '10 Feb 2019',

                        'Cost' => 20.2,

                        'Name' => 'Discount'

                      ),

                   array 

                      ( 

                        'Month' => '10 Mar 2019',

                        'Cost' => 0.0,

                        'Name' => 'Discount'

                    )

                )

           )

    )

);



$result = [];


foreach($graphData['DataArr'] as $value){

    foreach($value['data'] as $details){

        if(!isset($result['data'][$details['Month']])) $result['data'][$details['Month']]  = ['Month' => $details['Month']];

        $result['data'][$details['Month']][$details['Name']] = $details['Cost'];

    }

}


$result['data'] = array_values($result['data']); // to eliminate keys

print_r($result);

演示:https://3v4l.org/QMVuR

  • 我們首先創建一個包含鍵的數組。$resultdata

  • 我們循環使用并存儲 的值,并在 索引鍵值 下存儲 。$graphDataMonthSavingsDiscountMonth

  • 最后,我們array_values()來刪除密鑰。


查看完整回答
反對 回復 2022-09-03
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

根據您在此處提供的內容,需要生成新數組的代碼:


<?php

$data = [

  [

    'data' => [

      [

        'Month' => '10 Jan 2019',

        'Cost' => 60.3,

        'Name' => 'Savings'

      ],

      [

        'Month' => '10 Feb 2019',

        'Cost' => 45.3,

        'Name' => 'Savings'

      ],

      [

        'Month' => '10 Mar 2019',

        'Cost' => 50.6,

        'Name' => 'Savings'

      ]

    ],

  ],

  [

    'data' => [

      [

        'Month' => '10 Jan 2019',

        'Cost' => 89.62,

        'Name' => 'Discount'

      ],

      [

        'Month' => '10 Feb 2019',

        'Cost' => 20.2,

        'Name' => 'Discount'

      ],

      [

        'Month' => '10 Mar 2019',

        'Cost' => 0.0,

        'Name' => 'Discount'

      ]

    ],

  ]

];


$new_arr = ['data' => []];

echo "<pre>";


foreach( $data[0]['data'] as $key => $value) {

  // $new_arr['data'][$k]['Month'] = 

  $new_arr['data'][$key]['Month'] =  $value['Month'];

  $new_arr['data'][$key]['Discount'] =  $value['Cost'];

  $new_arr['data'][$key]['Savings'] =  $data[1]['data'][$key]['Cost'];

}


print_r($new_arr);

注意:此代碼假設數組只有 2 個主要元素,此數組中的更多元素可能會導致不同的行為。$data


查看完整回答
反對 回復 2022-09-03
  • 2 回答
  • 0 關注
  • 103 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號