删除第一次出现的项目

时间:2011-06-16 20:43:26

标签: php string list

我有一个以逗号分隔的列表,并希望从列表中删除第一次出现的1,同时删除任何分隔该值的额外逗号。怎么会这样做?

这是字符串:

 $str = '1,1,2,3,4,5,6,7,8,9,10';

我需要替换第一个1所以它看起来像这样:

$str = '1,2,3,4,5,6,7,8,9,10';

我需要删除额外的逗号,因为这些数字链接到MySQL DB中页面上显示的项目。

2 个答案:

答案 0 :(得分:3)

$search = 1;
$items = explode(',', $csvString);
if (($index = array_search($search, $items)) !== false)
  unset($items[$index]);
$csvString = implode(',', $items);

答案 1 :(得分:1)

这是一个删除1和任何邻居的正则表达式的

$result = preg_replace('/(,|^)1(,|$)/', '$2', $subject, 1);

它应该比爆炸/爆炸

更快