ホームページ >バックエンド開発 >PHPチュートリアル >str_replace関数について質問です。
str_replace 関数について質問があります
次のようなデータセット
00010,00014,0000000023,24,0027,0000
を取得したいのですがすべて 0 を削除しますが、「,」記号の前の 0 は削除されません
、つまり
00010,00014,0000000023,24,0027,0000
このデータセットは
10,14,23,24,27
になります。
-----解決策---------
echo preg_replace('/(^|,)0+/', '$1', '00010,00014,0000000023,24,0027,0000');
10,14,23,24,27,
1. str_replace は固定文字列のみを置換できます。不定文字列は正規表現を使用する必要があります。
2. 10、14、23、24、27 の結果は 1 つの項目が失われているため、正しいとは見なされません。
------解決策------------------
$str = "00010,00014,0000,000023,24,0027,0000"; echorim(preg_replace("/[^,]+,?/e", "intval('\0') > 0 ? intval('\0').',' : ''", $str), '、'); //10,14,23,24,27 <div class="clear"></div>