是否有更好(更快)的解决方案来从逗号分隔的字符串中删除重复项?
public function d($dep) {
if (strpos($dep,',') !== false) {
$nd = explode(',',$dep);
$oa = array_unique($nd);
$nx = (count($oa) > 1) ? implode(",",$oa) : $oa[0];
}
else {
$nx = $dep;
}
return $nx;
}
谢谢你们。
最佳答案
你可以利用数组键的唯一性:
function d($dep) {
return implode(',', array_keys(array_flip(explode(',', $dep))));
}
array_flip
交换键值关联,因此值成为键,反之亦然。这将自动消除重复项。其运行时复杂度为 O(n)。
关于php - 从逗号分隔的字符串中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5134176/