陣列格式轉換
<?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...