仅从阵列中获取唯一数据

时间:2018-12-14 11:33:36

标签: php arrays

我在数组中有数据。数据看起来像这样

Array
(
    [1-2] => Array
        (
            [-LTTzVgH1H4-mCg9vUPT] => Array
                (
                    [chat_id] => -LTTzVgH1H4-mCg9vUPT

                    [receiver_id] => 10215158688973543
                    [sender_id] => 1934076580016543

                )

        )
)

所以基本上它的结构是这样的

1-2
3-4
5-6
2-1
6-5

我只想获取那些唯一的键。意思是我想得到这样的结果

1-2
3-4
5-6

如何仅获取唯一密钥数据?

注意1-22-1都具有相同的数据

这是我尝试过的

foreach($json_data as $key=>$value){
   echo $key.'<br>';


}

这给了我所有的atm按键

1 个答案:

答案 0 :(得分:4)

您可以“重新排序”密钥,然后删除重复的密钥:

$unique_keys = array_unique(array_map(function ($key) {
  $parts = explode('-', $key);
  sort($parts);
  return implode('-', $parts);
}, array_keys($array)));

此处演示:https://3v4l.org/Fr1qD