php - 如何从php中的非唯一字符串中获取唯一的逗号分隔字符串

标签 php mysql arrays unique

我有一个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/

相关文章:

javascript - 比较两个数组对象并找到唯一值

php - 在不停机的情况下更新服务器文件的正确方法

php - 简单的 PHP/MySQL 用户注册有效,但无法使用用户名登录

几分钟后 MySQL 更新列

php - 让 PHP 解析大文件是否比从 MySQL 数据库调用数据更快?

javascript - 从 JavaScript 中的索引向后遍历数组

php - 需要有关 SQl 中更新语句的帮助

php - 除了mysql查询中的条件..

php - MySQL 选择常量位于表数组中的位置

php - 如何删除数组中小于 X 的整数?