首页 > 解决方案 > 查找数组中的重复元素

问题描述

我得到了一系列包含许多细节的硬币,部分看起来像这样:

array(360) {
  ["VEN/USDT"]=>
  array(15) {
    ["tierBased"]=>
    bool(false)


    }
    ["id"]=>
    string(7) "VENUSDT"
    ["symbol"]=>
    string(8) "VEN/USDT"
    ["base"]=>
    string(3) "VEN"
    ["quote"]=>
    string(4) "USDT"


    ["lot"]=>
    float(0.01)
    ["active"]=>
    bool(true)
  }

我只需要这部分:

["id"]=>
string(7) "VENUSDT"
["symbol"]=>
string(8) "VEN/USDT"
["base"]=>
string(3) "VEN"
["quote"]=>
string(4) "USDT"

如果“base”在整个数组中不止一次。

标签: php

解决方案


最终代码是:

$base_array = array();
foreach ($markets as $key=>$value) {
    echo "1. Key = " . $key . "\n";
    foreach ($value as $key => $value) {
        if ($key == "base") {
            echo "Base = " . $value . "\n";
            array_push($base_array, $value);
        }
    }
}


// Duplicates we need only!
$unique = array_unique($base_array);
$duplicates1 = array_diff_assoc($base_array, $unique);
$duplicates = array_unique($duplicates1);

var_dump($duplicates);

推荐阅读