PHP中实现类似MySQL的Group By操作:提取数组唯一值
实现PHP数组去重(模拟MySQL GROUP BY效果)
嘿,这个需求其实PHP里有现成的工具能快速搞定,完全不用自己写复杂的循环逻辑!
你要的是保留数组中每个值的唯一实例,这正好是array_unique()函数的本职工作——它会遍历数组,移除重复的元素,只留下每个值的第一次出现。
具体实现代码
// 你的原始数组 $MyArray = array('2','4','4','4','2','2','0','0','0','0','4'); // 直接去重 $AnotherArray = array_unique($MyArray); // 可选:如果需要重置数组索引(变成连续的0、1、2...) $AnotherArray = array_values(array_unique($MyArray));
小细节说明
array_unique()默认使用SORT_STRING模式比较元素,刚好匹配你数组里全是字符串类型元素的情况,完美去重得到['2','4','0']。- 如果不调用
array_values(),去重后的数组会保留原始数组的索引(比如原数组中第一个'2'在索引0,第一个'4'在索引1,第一个'0'在索引6);要是你需要连续的数字索引,加上array_values()就能重置索引啦。
内容的提问来源于stack exchange,提问作者Cyberscooty
相关产品推荐
相关产品推荐

