我有逗號分隔的列表,並且希望從列表中刪除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中的頁面上顯示的項目。
我有逗號分隔的列表,並且希望從列表中刪除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中的頁面上顯示的項目。
$search = 1;
$items = explode(',', $csvString);
if (($index = array_search($search, $items)) !== false)
unset($items[$index]);
$csvString = implode(',', $items);
您不處理1不在數組中的情況。編輯:你已經編輯了你的答案。 – Hammerite 2011-06-16 20:48:19
@Hammerite:我不知道,當你寫這個評論時,但我確實:這就是'if'的東西。編輯:是:) – KingCrunch 2011-06-16 20:49:15
完美!謝謝!我不能再接受3分鐘的答案,但我會接受它。 – 2011-06-16 20:54:55
這裏有一個正則表達式來刪除1和任何鄰國,的
$result = preg_replace('/(,|^)1(,|$)/', '$2', $subject, 1);
它應該比爆炸更快/爆
你能告訴一個現實世界的例子? – 2011-06-16 20:44:50