我有一个以逗号分隔的列表,并希望从列表中删除第一次出现的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中页面上显示的项目。
答案 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);
它应该比爆炸/爆炸
更快