相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
PHP遞歸刪除多維數(shù)組中的某個值
今天在做業(yè)務(wù)邏輯的過程中,需要在一個不確定的多維數(shù)組中刪除某個特定的key,查了挺長時間加上自己的修改,終于滿足了業(yè)務(wù)邏輯,該方法在修改后應(yīng)該可以適用于很多地方,所以記錄下來以備后用,我這里是一個多維數(shù)組,還是json_encode后的,主要目的是刪除所有old_tags_id數(shù)組中有tag_id=264的數(shù)據(jù),順便要刪除相應(yīng)的tag_name,還有 addtag要減1,,代碼如下:
先放遞歸函數(shù),當(dāng)然這里是核心,很多人看了這個應(yīng)該就已經(jīng)知道如何使用了.
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; }