【发布时间】:2010-08-02 11:54:12
【问题描述】:
我有一个用逗号分隔的名称列表(它们可能包含其他字符),或者为空,但通常看起来像这样:
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);
【问题讨论】:
-
为什么需要“最快”的方式?有什么特别的原因吗?
-
不,没什么特别的,但是explode/array_search/implode方法似乎很慢...
-
这些方法很慢,因为它们是数组操作。字符串操作似乎更快。有关不使用数组操作的方法,请参阅下面的答案。