为了账号安全,请及时绑定邮箱和手机立即绑定

降低子数组键并组合项目

降低子数组键并组合项目

PHP
凤凰求蛊 2023-06-18 17:22:25
我有一个数组$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);


查看完整回答
反对 回复 2023-06-18
  • 1 回答
  • 0 关注
  • 65 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信