欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP遞歸刪除多維數(shù)組中的某個值

 更新時間:2017年04月17日 16:01:23   投稿:mrr  
這篇文章主要介紹了PHP遞歸刪除多維數(shù)組中的某個值,需要的朋友可以參考下

今天在做業(yè)務邏輯的過程中,需要在一個不確定的多維數(shù)組中刪除某個特定的key,查了挺長時間加上自己的修改,終于滿足了業(yè)務邏輯,該方法在修改后應該可以適用于很多地方,所以記錄下來以備后用,我這里是一個多維數(shù)組,還是json_encode后的,主要目的是刪除所有old_tags_id數(shù)組中有tag_id=264的數(shù)據(jù),順便要刪除相應的tag_name,還有 addtag要減1,,代碼如下:

先放遞歸函數(shù),當然這里是核心,很多人看了這個應該就已經(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;
  }

維數(shù)組長這樣,還是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"
    ]
  }
]

然后賦值,調(diào)用

$tag_id = 264;
$menuData = json_decode($data,true);//這里第二個參數(shù)用true就會轉(zhuǎn)化為數(shù)組了
self::dealMenuTagDelete($menuData,$tag_id);
print_r($menuData);

以上所述是小編給大家介紹的PHP遞歸刪除多維數(shù)組中的某個值,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • 將博客園(cnblogs.com)數(shù)據(jù)導入到wordpress的代碼

    將博客園(cnblogs.com)數(shù)據(jù)導入到wordpress的代碼

    博客園限制太多,于是決定從博客園(cnblogs)更換自己個人的博客。WORDPRESS口碑還不錯,于是決定用用看。之前發(fā)的數(shù)百篇日志需要導入過來,在網(wǎng)上搜了一會,發(fā)現(xiàn)沒有這個插件,無奈只能自己寫一個
    2013-01-01
  • Laravel 5框架學習之子視圖和表單復用

    Laravel 5框架學習之子視圖和表單復用

    本文給大家主要介紹的是Laravel5框架中的子視圖以及表單復用的用法,十分的細致全面,對于大家熟練掌握Laravel5框架非常有幫助,有需要的小伙伴可以參考下
    2015-04-04
  • PHP后臺備份MySQL數(shù)據(jù)庫的源碼實例

    PHP后臺備份MySQL數(shù)據(jù)庫的源碼實例

    今天小編就為大家分享一篇關于PHP后臺備份MySQL數(shù)據(jù)庫的源碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 詳解php幾行代碼實現(xiàn)CSV格式文件輸出

    詳解php幾行代碼實現(xiàn)CSV格式文件輸出

    本篇文章主要介紹了詳解php幾行代碼實現(xiàn)CSV格式文件輸出,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • php和jquery實現(xiàn)地圖區(qū)域數(shù)據(jù)統(tǒng)計展示數(shù)據(jù)示例

    php和jquery實現(xiàn)地圖區(qū)域數(shù)據(jù)統(tǒng)計展示數(shù)據(jù)示例

    我們要在地圖上有限的區(qū)塊內(nèi)展示更多的信息,更好的辦法是通過地圖交互來實現(xiàn)。本文將給大家講解通過鼠標滑動到地圖指定省份區(qū)域,在彈出的提示框中顯示對應省份的數(shù)據(jù)信息。適用于數(shù)據(jù)統(tǒng)計和地圖區(qū)塊展示等場景
    2014-02-02
  • php將session放入memcached的設置方法

    php將session放入memcached的設置方法

    這篇文章主要介紹了php將session放入memcached的設置方法,需要的朋友可以參考下
    2014-02-02
  • PHP設計模式(九)外觀模式Facade實例詳解【結構型】

    PHP設計模式(九)外觀模式Facade實例詳解【結構型】

    這篇文章主要介紹了PHP設計模式:外觀模式Facade,結合實例形式詳細分析了PHP外觀模式Facade相關概念、功能、原理、用法與操作注意事項,需要的朋友可以參考下
    2020-05-05
  • Yii框架實現(xiàn)圖片上傳的方法詳解

    Yii框架實現(xiàn)圖片上傳的方法詳解

    這篇文章主要介紹了Yii框架實現(xiàn)圖片上傳的方法,結合實例形式較為詳細的分析了Yii框架實現(xiàn)圖片上傳功能的具體步驟與相關操作技巧,需要的朋友可以參考下
    2017-05-05
  • PHP解決高并發(fā)問題(opcache)

    PHP解決高并發(fā)問題(opcache)

    這篇文章主要介紹了PHP解決高并發(fā)問題(opcache),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 分享10段PHP常用代碼

    分享10段PHP常用代碼

    本文匯集PHP開發(fā)中經(jīng)常用到的時段代碼,包括Email、解壓縮、64位編碼、解析JSON等,對php常用代碼感興趣的朋友參考下
    2015-11-11

最新評論