给定混合字符串,生成仅包含唯一字符串的数组。

时间:2011-12-21 21:56:43

标签: php

测试输入:狗,狗,猫,牛,狗,马,猫,狗

有效输出:狗,猫,牛,马

可能无关紧要的细节:这是针对我写的电子邮件功能,其中部件列表与电子邮件地址相关联,并且我想要“混合”所有到达同一地址的部分。用php。我认为解决测试用例可以解决我的问题。

2 个答案:

答案 0 :(得分:4)

$string = implode(', ', array_unique(array_filter(array_map('trim', explode(',', $string))))));

从内到外

  • 分割为,
  • 删除所有前导和尾随空格
  • 如果需要,请删除任何空字符串
  • 仅返回唯一字符串
  • 再次使用,内爆

答案 1 :(得分:2)

$array = array ( 'dog', 'dog', 'cat', 'cow', 'dog', 'horse', 'cat', 'dog' );

$uniqe_array = array_unique ($array);

http://php.net/array_unique

此外:

$array = array();

$array['dog'] = 1;
$array['cat'] = 2;
$array['dog'] = 3;

结果:狗= 3,猫= 2。非唯一值将覆盖先前的索引。