您可以将字符串分解为数组:
$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)
也许不像正则表达式那样“简单”;但是有一天你需要对你的元素做更多的事情(或者你的元素比简单的数字更复杂的那一天),那仍然有效:-)
编辑:如果你想删除“空”值,比如有两个逗号,你只需要修改条件,有点像这样:
foreach ($list as $key => $value) {
if ($value == $usrID || trim($value)==='') {
unset($list[$key]);
}
}
即,排除$values
那些为空的。使用了“ trim
”,因此$string = "22,23, ,24,25";
也可以处理,顺便说一句。