YOu может взорваться строку в массив:
$list = explode(',', $string);
var_dump($list);
Который даст вам:
array
0 => string '22' (length=2)
1 => string '23' (length=2)
2 => string '24' (length=2)
3 => string '25' (length=2)
Тогда, делать все, что вы хотите на этом массиве; как удалить запись, которую вы не хотите больше:
foreach ($list as $key => $value) {
if ($value == $usrID) {
unset($list[$key]);
}
}
var_dump($list);
Что дает:
array
0 => string '22' (length=2)
2 => string '24' (length=2)
3 => string '25' (length=2)
И, наконец, положить кусочки вместе:
$new_string = implode(',', $list);
var_dump($new_string);
И вы получите то, что вам необходимо:
string '22,24,25' (length=8)
Возможно, это не так просто, как регулярное выражение; но на следующий день вы должны делать больше с элементами (или в день ваши элементы являются более сложными, чем просто номера), которые все еще работают :-)
EDIT: если вы хотите удалить «пустое» значение, например, когда есть два запятой, вы просто должны modifiy состояния, немного как это:
foreach ($list as $key => $value) {
if ($value == $usrID || trim($value)==='') {
unset($list[$key]);
}
}
т.е. исключить $values
, которые являются пустыми. «trim
» используется так, что $string = "22,23, ,24,25";
также может быть обработан, кстати.
Это то, о чем я думал, что очень помогло. +1 для Дэрила, который я могу использовать для чего-то еще в какой-то момент. Еще раз спасибо. – Dodinas
Добро пожаловать; Повеселись ! –