相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡(jiǎn)單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說(shuō)明
- thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
PHP遞歸刪除多維數(shù)組中的某個(gè)值
今天在做業(yè)務(wù)邏輯的過(guò)程中,需要在一個(gè)不確定的多維數(shù)組中刪除某個(gè)特定的key,查了挺長(zhǎng)時(shí)間加上自己的修改,終于滿足了業(yè)務(wù)邏輯,該方法在修改后應(yīng)該可以適用于很多地方,所以記錄下來(lái)以備后用,我這里是一個(gè)多維數(shù)組,還是json_encode后的,主要目的是刪除所有old_tags_id數(shù)組中有tag_id=264的數(shù)據(jù),順便要?jiǎng)h除相應(yīng)的tag_name,還有 addtag要減1,,代碼如下:
先放遞歸函數(shù),當(dāng)然這里是核心,很多人看了這個(gè)應(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; }