Удалить первое вхождение предмета - PullRequest
0 голосов
/ 17 июня 2011

У меня есть список, разделенный запятыми, и я хотел бы удалить первое вхождение 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.

Ответы [ 2 ]

3 голосов
/ 17 июня 2011
$search = 1;
$items = explode(',', $csvString);
if (($index = array_search($search, $items)) !== false)
  unset($items[$index]);
$csvString = implode(',', $items);
1 голос
/ 17 июня 2011

Вот регулярное выражение для удаления 1 и любых соседних, s

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

Это должно быть быстрее, чем взорваться / взорваться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...