Php 当元素中有空格时,从逗号分隔的字符串中删除重复项

Php 当元素中有空格时,从逗号分隔的字符串中删除重复项,php,Php,我找到了这个问题的答案: 但是,当字符串中有空格和/或每个分隔符后有空格时,它不能回答删除重复项的最佳方法是什么 所以我有这个字符串: 酸奶(牛奶)、草莓(11%)、糖、水、稳定剂:果胶、瓜尔豆胶、调味品、酸度调节剂:柠檬酸、酸奶(牛奶)、桃子(9%)、糖、水、杏子(3%)、稳定剂:果胶、瓜尔豆胶、酸度调节剂:柠檬酸、调味品 要删除重复项,我使用了以下代码: $str = implode(',',array_unique(explode(',', $str))); 但是它不作为字符串中的第一个

我找到了这个问题的答案: 但是,当字符串中有空格和/或每个分隔符后有空格时,它不能回答删除重复项的最佳方法是什么

所以我有这个字符串:

酸奶(牛奶)、草莓(11%)、糖、水、稳定剂:果胶、瓜尔豆胶、调味品、酸度调节剂:柠檬酸、酸奶(牛奶)、桃子(9%)、糖、水、杏子(3%)、稳定剂:果胶、瓜尔豆胶、酸度调节剂:柠檬酸、调味品

要删除重复项,我使用了以下代码:

$str = implode(',',array_unique(explode(',', $str)));
但是它不作为字符串中的第一个元素工作,在开始时没有空格


解决这个问题的最佳方法是什么?

这可能会对您有所帮助:

$str = "Yogurt (Milk), Strawberries (11%), Sugar, Water, Stabilisers: Pectins, Guar Gum, Flavourings, Acidity Regulator: Citric Acid, Yogurt (Milk), Peach (9%), Sugar, Water, Apricot (3%), Stabilisers: Pectins, Guar Gum, Acidity Regulator: Citric Acid, Flavourings"; $new_str = array_unique(array_map('trim', explode(',', $str))); $string = implode(',', $new_str); echo $string; $str=“酸奶(牛奶)、草莓(11%)、糖、水、稳定剂:果胶、瓜尔豆胶、调味品、酸度调节剂:柠檬酸、酸奶(牛奶)、桃(9%)、糖、水、杏(3%)、稳定剂:果胶、瓜尔豆胶、酸度调节剂:柠檬酸、调味品”; $new_str=array_unique(array_map('trim',explode(',',$str)); $string=内爆(“,”,$new_str); echo$字符串;
您需要修剪空白并删除重复的条目。

如果每个逗号后都有一个空格字符,则可以在分解/内爆函数中包含空格字符

$str = implode(', ',array_unique(explode(', ', $str)));
否则,你必须修剪空间,就像另一个答案所建议的那样