温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在PHP中利用递归删除多维数组中的某个值

发布时间:2021-01-04 16:17:43 来源:亿速云 阅读:221 作者:Leah 栏目:开发技术

今天就跟大家聊聊有关如何在PHP中利用递归删除多维数组中的某个值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

public function dealMenuTagDelete(&$menuData, $tag_id)   {     if (!is_array($menuData)) {       return false;     }     foreach ($menuData as $key => $val) {       if ($key === 'old_tags_id') {         foreach ($val as $tagKey => $tagVaule) {           if ($tagVaule == $tag_id) {             unset($menuData['old_tags_id'][$tagKey]);             unset($menuData['old_tags'][$tagKey]);             $menuData['addtag']--;           }         }       }       if (is_array($val)) {         self::dealMenuTagDelete($menuData[$key], $tag_id);       }     }     return $menuData;   }

维数组长这样,还是jeson_encode后的格式:

[  {     "typ": "res_ejcd",     "tit": "message1",     "data": "1@2@3",     "subdata": {       "zizicd1": {         "typ": "res_wb",         "data": "qqqq",         "addtag": 1,         "old_tags": [           "\"campaign综合分析\"",           "test add a tag"         ],         "old_tags_id": [           "264",           "17"         ],         "new_tags_id": [],         "tit": "1"       },       "zizicd2": {         "typ": "res_wb",         "data": "wwww",         "addtag": 1,         "old_tags": [           "test add a tag"         ],         "old_tags_id": [           "17"         ],         "new_tags_id": [],         "tit": "2"       },       "zizicd3": {         "typ": "res_wb",         "data": "ddd",         "addtag": 1,         "old_tags": [],         "old_tags_id": [],         "new_tags_id": [           "new_tag1"         ],         "tit": "3"       }     },     "addtag": 0,     "old_tags": [],     "old_tags_id": [],     "new_tags_id": []   },   {     "typ": "res_tw",     "tit": "Post",     "data": "2121",     "subdata": null,     "addtag": 1,     "old_tags": [       "“519引号阅读user message图文”"     ],     "old_tags_id": [       "183"     ],     "new_tags_id": []   },   {     "typ": "res_wb",     "tit": "Today1",     "data": "12312321",     "subdata": null,     "addtag": 1,     "old_tags": [],     "old_tags_id": [],     "dynamicdata": "{\"default\":{\"message_type\":\"1\",\"val\":\"dynamic\"},\"segementation\":[{\"segId\":\"451\",\"message_type\":\"1\",\"val\":\"你属于conversation 80这一组\"},{\"segId\":\"450\",\"message_type\":\"1\",\"val\":\"poll-1212\\n有三个人,rainbow H T_T\"}]}",     "configId": "2392",     "new_tags_id": [       "new_tag2"     ]   } ]

然后赋值,调用

$tag_id = 264; $menuData = json_decode($data,true);//这里第二个参数用true就会转化为数组了 self::dealMenuTagDelete($menuData,$tag_id); print_r($menuData);

看完上述内容,你们对如何在PHP中利用递归删除多维数组中的某个值有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI