【发布时间】:2011-02-25 05:27:10
【问题描述】:
我有一个php字符串
$select_columms = 'pid, p.title, caption, filepath, filename, encaption, user1, user2, user3, user4, user5, user6, ult_puja, p.title, user2, user3';
所以我有了这个想法,我可以用这行代码得到一个唯一的字符串
$select_columns = implode(',', array_unique(array_filter(explode(',',$select_columns))));
但它似乎不起作用你能看到我错过了什么吗?
编辑: 感谢帮助我的最终代码是:
$select_columns = implode(',', array_filter(array_unique(explode(',', $select_columns))));
输出$select_columns = 'pid, p.title, caption, filepath, filename, encaption, user1, user2, user3, user4, user5, user6, ult_puja'
如果我有像', pid,'这样的输入,我会使用array_filter
【问题讨论】:
-
所以您的意思是要删除出现在逗号分隔字符串中的重复值,并将输出保留为逗号分隔字符串?
-
正是@Neddy 创建选择语句的逻辑导致查询重复字段
-
谁能告诉我为什么函数的顺序会有所不同?
-
@amitchd 在我的解决方案的 cmets 中指出,如果列之间有空格,您的代码将无法工作。 'pid , pid , pid' 将返回 pid 两次。我修改了我的解决方案以考虑到这一点