我有一個數組$arr = [ 'parent' => [ 'CHILD' => [ 5,6 ], 'child' => [ 1,2,3,4 ], 'Child' => [ 5,6,7,8 ], ... ]];我想降低子鍵并組合每個具有相同不區分大小寫鍵的子鍵$arr = [ 'parent' => [ 'child' => [ 1,2,3,4,5,6,7,8 ], ]];我試過array_change_key_case,它總是采用最后一個元素并忽略其他元素。一個數組可能有多個具有相同鍵的孩子(大小寫不同)
1 回答

慕村225694
TA貢獻1880條經驗 獲得超4個贊
試試下面的代碼應該工作:
<?php
$arr = [
'parent' => [
'CHILD' => [
5,6
],
'child' => [
1,2,3,4
],
]
];
$arNew = [];
foreach ($arr as $sParent => $ar) {
foreach ($ar as $sChild => $ar1) {
$sChild = strtolower($sChild);
if (empty($arNew[$sParent][$sChild])) {
$arNew[$sParent][$sChild] = $ar1;
} else {
$arNew[$sParent][$sChild] = array_merge($arNew[$sParent][$sChild], $ar1);
}
}
}
print_r($arNew);
- 1 回答
- 0 關注
- 115 瀏覽
添加回答
舉報
0/150
提交
取消