首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >删除数组中的值和数组中的值

删除数组中的值和数组中的值
EN

Stack Overflow用户
提问于 2018-10-07 23:29:58
回答 1查看 85关注 0票数 4

我有数组

代码语言:javascript
复制
Product:[
     {
       content:'',
       tag:[
         {
           name:'a',
         },
         {
           name:'b'
         }
       ]
     }
]

我有价值的x = 'a'

我需要删除数组product中的tag中的名称,其中name == x

我使用了两个foreach,一个foreach循环产品和一个foreach循环标记,然后检查条件if(name == x)和delete项

代码

代码语言:javascript
复制
$tag = 'a'

foreach($blogs as $blog) {

    foreach(json_decode($blog->tag) as $detail_tag) {

        if($detail_tag == $tag) {

            delete($detail_tag);
        }
    }
}

然而,我的意思是函数有一些错误(我在纸上写代码,我不测试:( ),我的意思是它没有性能@@。谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-10-07 23:48:48

  • 首先需要使用json_decode()函数将JSON对象转换为数组。此函数中的第二个参数被设置为true,以便将JSON转换为关联数组。然后
  • ,循环遍历该数组。在foreach中,您还需要访问key,以便对值进行unset()
  • 然后,使用json_encode()函数将数组转换回JSON对象。

尝试:

代码语言:javascript
复制
$tag = 'a';

foreach($blogs as $blog) {

  // convert to array using json_decode() (second parameter to true)
  $blog_arr = json_decode($blog->tag, true);

  // Loop over the array accessing key as well
  foreach( $blog_arr as $key => $detail_tag){

      if ($detail_tag === $tag) {
          // unset the key
          unset($blog_arra[$key]);
      }

   // Convert back to JSON object
   $blog_tag_modified = json_encode($blog_arr);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52690041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档