php中去重二维数组

方法1:

$goods_terminal_unique = [];
$goods_terminal  = [['goods_code'=>1,'terminal_code'=>12],['goods_code'=>1,'terminal_code'=>23],['goods_code'=>1,'terminal_code'=>12]];
for ($i = 0; $i < count($goods_terminal); $i++) {
    $a = $goods_terminal[$i];
    unset($goods_terminal[$i]);
    if (!in_array($a, $goods_terminal_unique)) {
        $goods_terminal_unique[] = $a;
    }
}
var_dump($goods_terminal_unique);

方法2:降维(缺点:原有的键名会变为0,1,2,3…)

   $temp = [];
   $goods_terminal  = [['goods_code'=>1,'terminal_code'=>12],['goods_code'=>1,'terminal_code'=>23],
    foreach ($goods_terminal as $v) {
        $v = join(",", $v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
        $temp[] = $v;
    }
    var_dump($temp);
    $temp = array_unique($temp);//去掉重复的字符串,也就是重复的一维数组
    foreach ($temp as $k => $v) {
        $temp[$k] = explode(",", $v);//再将拆开的数组重新组装
    }
    var_dump($temp);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值