Php 数组\u对于重新排列的值是唯一的
这是我的阵列Php 数组\u对于重新排列的值是唯一的,php,Php,这是我的阵列 $input = array("ASTY","PLO","KNGO","c","LOP","OPL","HONGO","TSAY"); 这里, ASTY,TSAY=包含相同的字母。我需要保留第一个 PLO、LOP、OPL=包含相同的字母。我需要保留第一个 那么,我想要的输出数组 $output = array("ASTY","PLO","KNGO","c","HONGO"); 是否有任何内置函数来执行此操作? array\u unique适用于未重新排列的单词。要在这种情况下比
$input = array("ASTY","PLO","KNGO","c","LOP","OPL","HONGO","TSAY");
这里,
ASTY,TSAY=包含相同的字母。我需要保留第一个
PLO、LOP、OPL=包含相同的字母。我需要保留第一个
那么,我想要的输出数组
$output = array("ASTY","PLO","KNGO","c","HONGO");
是否有任何内置函数来执行此操作?
array\u unique适用于未重新排列的单词。要在这种情况下比较任意两个值是否相等,只需对字母排序并比较排序后的值即可。要消除阵列中的重复数据,请使用阵列键是唯一的这一事实:
$unique = [];
foreach ($input as $word) {
$key = str_split($word);
sort($key);
$unique[join($key)] = $word;
}
// optionally:
$unique = array_values($unique);
要在这种情况下比较任意两个值是否相等,只需对字母排序并比较排序后的值。要消除阵列中的重复数据,请使用阵列键是唯一的这一事实:
$unique = [];
foreach ($input as $word) {
$key = str_split($word);
sort($key);
$unique[join($key)] = $word;
}
// optionally:
$unique = array_values($unique);
棒 极 了非常感谢。这将返回所有相同组合字符串的最后一次出现;在上面的示例中,它将返回“TSAY”和“OPL”,而OP希望保留第一个事件。在将其分配给
$unique
@Irvin之前,您可能需要使用数组\u key\u exists
,如果这真的很重要,修复非常简单……)棒 极 了非常感谢。这将返回所有相同组合字符串的最后一次出现;在上面的示例中,它将返回“TSAY”和“OPL”,而OP希望保留第一个事件。在将其分配给$unique
@Irvin之前,您可能需要使用数组\u key\u exists
,如果这真的很重要,修复非常简单……)