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

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

如何將 php 數(shù)組格式化為所需的結(jié)果

如何將 php 數(shù)組格式化為所需的結(jié)果

PHP
慕田峪4524236 2021-11-05 16:11:55
我需要在圖表中顯示一些數(shù)據(jù)。基本上我有一個(gè)來自數(shù)據(jù)庫的數(shù)組,它看起來像這樣-[    [0] =>[            [user_type] => 'Manager'            [total_count] => 3        ],    [1] =>[            [user_type] => 'Director'            [total_count] => 2        ]]還有一個(gè)user_type是Trainee 。如果用戶Trainee有0 Total_count它不會(huì)出現(xiàn)在上面的數(shù)組中。所以我需要手動(dòng)添加。所以首先將檢查user_type3 個(gè) user_types 中哪個(gè)不存在于上面的數(shù)組中。如果不存在則只需要添加total_count 0.最后我想要的數(shù)組應(yīng)該是這樣的——[    ['labels'] =>['Manager','Director','Trainee],    ['dataset'] => [ 3, 2, 0 ]]請注意這里,正確的順序非常重要。所以在上面的數(shù)組中,Manager 有 3 個(gè),Director 有 2 個(gè),實(shí)習(xí)生有 0 個(gè)總數(shù)。
查看完整描述

3 回答

?
慕少森

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

試試下面的代碼也許它會(huì)有所幫助。


/*

using array column will get the result in 

Array ( [Manager] => 3 [Director] => 2 )

*/


$array_column = array_column($array, 'total_count', 'user_type');

//Create new array like below

$add_array = array('Manager'=>'0', 'Director'=>'0', 'Trainee'=>'0',);


//using array_merge merge add_array and array_column

$new_array = array_merge($add_array, $array_column);


//using array_walk_recursive get the requird result

array_walk_recursive($new_array, function($item, $key) use (&$final_array){


    $final_array['labels'][]=$key;

    $final_array['dataset'][]=$item;

    });


echo "<pre>";

print_r($final_array);


?>

案例 1- 如果受訓(xùn)者不在數(shù)組 DEMO 中

案例 2 - 如果 Manager 和 Director 都不在陣列 DEMO 中

案例 3- 如果主管不在 -演示


查看完整回答
反對 回復(fù) 2021-11-05
?
MMMHUHU

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

這是您可以使用帶有 splat(...) 運(yùn)算符的 array_combine 和 array_map 的腳本


$arr = array_combine(['labels','dataset'],array_map(null, ...$arr));

if(!in_array('Trainee',$arr['labels'])){

    array_push($arr['labels'],'Trainee');

    array_push($arr['dataset'],0);

}

print_r($arr);die;

array_combine — 通過使用一個(gè)數(shù)組作為鍵和另一個(gè)作為其值的數(shù)組來創(chuàng)建一個(gè)數(shù)組


注意:-在 array_map 中,NULL 可以作為值傳遞給回調(diào)以對多個(gè)數(shù)組執(zhí)行 zip 操作。如果只提供了 array1,array_map() 將返回輸入數(shù)組??傊褪菆?zhí)行數(shù)組操作的轉(zhuǎn)置

輸出:-


Array

(

    [labels] => Array

        (

            [0] => Manager

            [1] => Director

            [2] => Trainee

        )


    [dataset] => Array

        (

            [0] => 3

            [1] => 2

            [2] => 0

        )


)


查看完整回答
反對 回復(fù) 2021-11-05
?
神不在的星期二

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

嘗試這個(gè)


$arr = array_combine(['labels','dataset'], array_map(null, $arr));

制作一個(gè)將不存在的 user_type 添加到數(shù)組中的函數(shù)


function setUserType($userType, $array) {

    if(!in_array($userType, $array['labels'])){

        array_push($array['labels'], $userType);

        array_push($array['dataset'], 0);

    }


    return $array;

}

通過任何用戶類型調(diào)用函數(shù),如“經(jīng)理”、“實(shí)習(xí)生”、“導(dǎo)演”


$arr = setUserType('Trainee', $arr);

或者創(chuàng)建一個(gè)包含所有用戶類型的數(shù)組并運(yùn)行一個(gè)循環(huán)


foreach(['Manager', 'Trainee', 'Director'] as $type) {

 $arr = setData($type, $arr);   

}

打印并顯示最終值


print_r($arr);

die();

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


查看完整回答
反對 回復(fù) 2021-11-05
  • 3 回答
  • 0 關(guān)注
  • 235 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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