陣列格式轉換

2022-06-19 16:27:08 字數 1517 閱讀 2285

陣列格式轉換

<?php

/***

* 陣列歸類轉換

* 把$arr轉成$brr的格式

* 規定一次迴圈必須借助於內建函式

**/$arr =[

['name' => 'jack', 'hobby' => '西瓜'],['name' => 'jack', 'hobby' => '冬瓜'],['name' => 'rose', 'hobby' => '木瓜'],['name' => 'rose', 'hobby' => '甜瓜'],['name' => 'jack', 'hobby' => '地瓜'],['name' => 'rose', 'hobby' => '香瓜']

];$brr =[

['name' => 'jack', 'hobby' => ['西瓜', '冬瓜', '地瓜']],['name' => 'jack', 'hobby' => ['木瓜', '甜瓜', '香瓜']]

];$arr2 =;

foreach ($arr

as$k => $v

)

$col = array_column($arr2, 'name');//

再次獲取所有指定鍵名的鍵值

$col_key = array_search($v['name'], $col);//

按照鍵值查詢索引

$arr2[$col_key]['hobby'] = $v['hobby'];//

存入陣列

}echo '';

var_dump($arr2);

python實現

arr1 =[,,

,,

,]arr5 =[

,]'''

陣列格式轉換 把arr1轉成arr5

'''#

匿名函式指定二維陣列內容轉換

tosingle=lambda arr:[ i.get('

name

') for i in

arr]

arr2 = #

目標陣列

for x in

arr1:

name_list=tosingle(arr2) #

獲取姓名列表

if x.get('

name

') not

in name_list:#

名字如果不在列表中,就放進去

name

':x.get('

name

'),'

hobby

':})

name_list2 = tosingle(arr2) #

獲取姓名列表

index = name_list2.index(x.get('

name

')) #

獲取姓名在目標鍵值中的索引

arr2[index]['

hobby

hobby

')) #

存入對應hobby

print(arr2)

python轉換格式 python格式轉換的記錄

python的格式轉換太難了。與其說是難,具體來說應該是 每次都會忘記該怎麼處理 所以於此記錄,總的來說是編碼 格式轉換的記錄。經常見到的格式轉換 bytes str socket 網路通訊和 的很多資料傳輸,都是使用bytes格式在傳送訊息,而同時很多時候我們也需要把這些資訊程式設計str來試著人...

資料格式的轉換 陣列與樹形

記錄一下找到的陣列和樹形之間的轉換方法。陣列轉換成樹形 方法一 使用迴圈深層遍歷 效能相對較高 function jsontotree jsondata,id,pid for let i 0 i jsondata.length i for let j 0 j jsondata.length j te...

python 日期 格式轉換 英文 日期格式轉換

一 date型轉字串 filter date date,yyyymm filter date time,hh mm 在控制器中使用必須注入 filter 模組 scope.dt1 new date 控制器中使用 scope.dt2 filter date scope.dt1,yyyy mm dd h...