这是我的阵列
$input = array("ASTY","PLO","KNGO","c","LOP","OPL","HONGO","TSAY");
Run Code Online (Sandbox Code Playgroud)
这里,
ASTY,TSAY =包含相同的字母.我需要保留第一个.
PLO,LOP,OPL =包含相同的字母.我需要保留第一个.
所以,我想要的输出数组
$output = array("ASTY","PLO","KNGO","c","HONGO");
Run Code Online (Sandbox Code Playgroud)
有没有内置函数来做到这一点?array_unique适用于非重新排列的单词.
比较任意两个值是否在这种情况下相等,则只需订购字母和比较有序值.要对数组进行重复数据删除,请使用数组键唯一的事实:
$unique = [];
foreach ($input as $word) {
$key = str_split($word);
sort($key);
$unique[join($key)] = $word;
}
// optionally:
$unique = array_values($unique);
Run Code Online (Sandbox Code Playgroud)