第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

分解數(shù)據(jù)并構(gòu)建新數(shù)組

分解數(shù)據(jù)并構(gòu)建新數(shù)組

PHP
肥皂起泡泡 2023-04-21 15:31:30
我需要分解數(shù)組的鍵值并構(gòu)建一個(gè)具有分解結(jié)果的新數(shù)組。下面的代碼適用于一個(gè)子數(shù)組,我想我缺少一個(gè) for 循環(huán)來處理數(shù)組值迭代。該解決方案還應(yīng)處理“金融”子數(shù)組數(shù)據(jù),以便在新數(shù)組中展開并顯示。我在后期會(huì)有 9 個(gè)子數(shù)組,因此需要分解數(shù)據(jù)并將結(jié)果移動(dòng)到新數(shù)組中。我的代碼<?php$array = [  'company_info' => [    'country_period_0'  => 10,    'currency_period_0' => 20  ],  'finance'      => [    'values_period_0' => 30  ]];$newArray = [];for ($i=0; $i <= 1 ; $i++) {  $array_1     = $array['company_info'];  $arrayKeys   = array_keys($array_1);  $arrayValues = array_values($array_1);  $keySplits   = explode("_", $arrayKeys[$i]);  for ($i=0; $i <= 2 ; $i++) {    $newArray[] = $keySplits[$i];  }    $newArray[3] = $arrayValues[0];}print_r($newArray);結(jié)果Array(    [0] => country    [1] => period    [2] => 0    [3] => 10)想要的結(jié)果['company_info]Array(    [0] => country    [1] => period    [2] => 0    [3] => 10)Array(    [0] => currency    [1] => period    [2] => 0    [3] => 20)['finance']Array(    [0] => values    [1] => period    [2] => 0    [3] => 30)
查看完整描述

2 回答

?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以使用循環(huán)大大簡(jiǎn)化它foreach,尤其是每次獲取鍵和值以幫助構(gòu)建數(shù)組。


這也使用第一級(jí)的鍵explode()將結(jié)果添加到using ,但也只是將值添加到數(shù)組的末尾 using ... $newArray$newArray[$mainKey][][]


foreach ( $array as $mainKey => $elements )  {

    foreach ( $elements as $subKey => $value ){

        $newData = explode("_", $subKey);

        $newData[] = $value;

        $newArray[$mainKey][] = $newData;

    }

}

用你的測(cè)試數(shù)據(jù)給出......


Array

(

    [company_info] => Array

        (

            [0] => Array

                (

                    [0] => country

                    [1] => period

                    [2] => 0

                    [3] => 10

                )


            [1] => Array

                (

                    [0] => currency

                    [1] => period

                    [2] => 0

                    [3] => 20

                )


        )


    [finance] => Array

        (

            [0] => Array

                (

                    [0] => values

                    [1] => period

                    [2] => 0

                    [3] => 30

                )


        )


)

我只是注意到我丟失了第二個(gè)company_info數(shù)據(jù),所以這意味著值將始終是數(shù)組,除非你真的只在需要時(shí)才需要它們是數(shù)組。


查看完整回答
反對(duì) 回復(fù) 2023-04-21
?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

$new_array=[];

foreach($array as $category => $tmp ){


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

    $exp = explode('_', $key);

    $exp[] = $value;

    $new_array[ $category ][] = $exp;

    }


}


查看完整回答
反對(duì) 回復(fù) 2023-04-21
  • 2 回答
  • 0 關(guān)注
  • 138 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)