【问题标题】:How to unset array inside array如何取消设置数组内的数组
【发布时间】:2018-08-17 21:52:36
【问题描述】:

我在以下结构中有一个数组

Array ( [members] => Array ( 
    [0] => Array ( [nr] => 2 [email] => email1 ) 
    [1] => Array ( [nr] => 6 [email] => email2 ) 
    [2] => Array ( [nr] => 3 [email] => email3 ) 
 )
 [title] => List members 
)

我想删除项目 [3] => Array () by nr,比如 unset [nr] => 3, 那我该怎么做呢?

【问题讨论】:

    标签: php arrays array-unset


    【解决方案1】:

    您必须遍历成员项目并检查nr 是否具有您想要的值。然后,您可以使用unset() 删除该条目:

    foreach ($array['members'] as $key => $item) {
        if (isset($item['nr']) && $item['nr'] == 3) {
            unset($array['members'][$key]) ;
        }
    }
    

    【讨论】:

      【解决方案2】:

      我会使用 array_filter 而不是 unset 我会过滤您实际需要的值。

      $array['members'] = array_filter($array['members'], function($member) {
          return $member['nr'] !== 3;
      });
      

      Working fiddle

      【讨论】:

        【解决方案3】:

        不想使用foreach循环可以直接使用unset($main['members'][2]['nr']);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-08-11
          • 1970-01-01
          • 2021-07-15
          • 1970-01-01
          • 2011-12-14
          • 2012-04-06
          相关资源
          最近更新 更多