我有一个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'
我使用 array_filter 以防我有像 ', pid,'
这样的输入
最佳答案
试试这个
echo implode(',', array_unique(explode(',', $select_columms)));
编辑 正如@amitchd 指出的那样。不修剪时很难失败。现已修复
如果你的字符串间距不均匀,你可以这样做
$select_columms = 'pid, p.title, caption, filepath, filename, encaption, user1, user2, user3, user4, user5, user6, ult_puja, p.title, user2, user3';
$arr = explode(',', $select_columms);
array_walk($arr, '_trim');
echo implode(',', array_unique($arr));
function _trim(&$value) {
$value = trim($value);
}
关于php - 如何从php中的非唯一字符串中获取唯一的逗号分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5113931/