为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据键删除数组列表?

如何根据键删除数组列表?

PHP
慕妹3146593 2021-06-17 08:20:53
例如 :Array   (    [0] => Array  (     [id] => 23     [merchant_id] => 23    )[1] => Array  (     [id] => 24     [merchant_id] => 46   ))我想删除除46之外的merchant_id列表,操作后:Array       (        [0] => Array      (         [id] => 24         [merchant_id] => 46       )    )删除此数组列表的最佳方法是什么?
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

您可以使用array_filter以下方法获得结果


// suppose your data is in $data variable

$data = [

  ['id' => 23,

     'merchant_id' => 23],


  ['id' => 23,

     'merchant_id' => 46],


 ];


//return true only if marchant_id == 46 

$filtered_array = array_filter($data,function($datum){

                     return $datum["merchant_id"] == 46;

                  });


查看完整回答
反对 回复 2021-06-19
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

您好请检查下面的代码


$array = array( 

    array('id' => 23, 'merchant_id' => 23),

    array('id' => 24, 'merchant_id' => 46),

    array('id' => 25, 'merchant_id' => 34),

    array('id' => 26, 'merchant_id' => 46),

);


$final = array();


foreach ($array as $key => $value) {

    if($value['merchant_id'] == 46){

        $final[] = $value;

    }

}


print_r($final);


查看完整回答
反对 回复 2021-06-19
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

如果您正在努力使用数组函数,一个简单的 foreach 循环和对您感兴趣的领域的测试会很好


$A = [  ['id' => 23, 'merchant_id' => 23  ],

        ['id' => 24, 'merchant_id' => 46  ],

        ['id' => 25, 'merchant_id' => 21  ],

        ['id' => 26, 'merchant_id' => 29  ],

    ];



foreach ( $A as $key => $t ) {

    if( $t['merchant_id'] != 46 ){

        unset($A[$key]);

    }

}


print_r($A);

结果


Array

(

    [1] => Array

        (

            [id] => 24

            [merchant_id] => 46

        )


)


查看完整回答
反对 回复 2021-06-19
  • 3 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信