文字列を配列に分解できます。
$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 : 2 つのカンマがある場合のように、「空の」値を削除する場合は、次のように条件を変更するだけです。
foreach ($list as $key => $value) {
if ($value == $usrID || trim($value)==='') {
unset($list[$key]);
}
}
$values
つまり、空の を除外します。「trim
」が使用されているので$string = "22,23, ,24,25";
、対処することもできます。