ホームページ  >  記事  >  バックエンド開発  >  str_replace関数について質問です。

str_replace関数について質問です。

WBOY
WBOYオリジナル
2016-06-13 13:45:23820ブラウズ

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 つの項目が失われているため、正しいとは見なされません。
------解決策------------------

PHP コード

$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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。