我有逗号(它们可能含有其他字符),或者是空的,但一般这样看分离的名单:最快在一个逗号删除值的方式分隔列表
NameA,NameB,NameC
我需要创建一个函数来删除一个名称,如果它存在于列表中并且它恢复了逗号分隔的结构。
例如:如果NAMEA将被删除,我应该结束了:
NameB,NameC
不
,NameB,NameC
同样的休息。
这就是我想出的,有没有更好的解决方案?
$pieces = explode(",", $list);
$key=array_search($deleteuser, $pieces);
if(FALSE !== $key)
{
unset($pieces[$key]);
}
$list = implode(",", $pieces);
你为什么需要“最快”的方式?有什么特别的原因吗? – 2010-08-02 12:15:34
不,没有什么特别的,但explode/array_search/implode方法似乎很慢...... – DrMHC 2010-08-02 13:27:00
这些方法很慢,因为它们是数组操作。字符串操作似乎更快。请参阅下面的答案,了解不使用数组操作的方法。 – 2010-08-02 13:31:32