Самый быстрый способ удаления значения в списке, разделенном запятыми

У меня есть список имен, разделенных запятыми (они могут содержать другие символы), или быть пустым, но обычно выглядит так:

NameA,NameB,NameC 

Мне нужно создать функцию для удаления имени, если оно присутствует в списке и которое восстанавливает структуру, разделенную запятыми.

например: если имяA должно быть удалено, я должен закончить:

 NameB,NameC 

НЕ

 ,NameB,NameC 

Аналогично для остальных.

Это то, что я придумал, есть ли лучшее решение?

  $pieces = explode(",", $list); $key=array_search($deleteuser, $pieces); if(FALSE !== $key) { unset($pieces[$key]); } $list = implode(",", $pieces); не  $pieces = explode(",", $list); $key=array_search($deleteuser, $pieces); if(FALSE !== $key) { unset($pieces[$key]); } $list = implode(",", $pieces); 

Вы можете использовать функцию array_splice для удаления из массива. С offset = array_search ($ deleteuser, $ pieces) и length = 1.

Это должно работать очень хорошо. Вы также можете быть заинтересованы в функции fgetcsv PHP.
Док: http://php.net/manual/en/function.fgetcsv.php

Вы также можете попробовать регулярное выражение (возможно, оно может быть оптимизировано):

 $search = 'NameB'; $list = 'NameA,NameB,NameC'; $list = preg_match('/(^' . $search . ',)|(,' . $search. ')/', '', $list);