前回の記事「PHP 文字列学習: 文字列をより短い部分文字列に分割する 」では、文字列を分割し、より小さな部分文字列に分割する方法を紹介しました。今回も引き続き PHP 文字列の学習と実践を行い、文字列内の数字を抽出する方法を見ていきます。必要に応じて参考にしてください。~
この記事のテーマは「文字列から数字を抽出する」です。 。たとえば、次の文字列
$str ='0我是123456一段测试的字789符串0';
を指定した場合、他の文字を削除して、文字列内の数字で構成される部分文字列 "01234567890
" のみを返すにはどうすればよいでしょうか。ここでは 2 つの方法を紹介します:
最初の方法を見てみましょう:
<?php header("content-type:text/html;charset=utf-8"); function findNum($str) { $str = trim($str); if (empty($str)) { echo ''; }else{ $temp = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '0'); $result = ''; for ($i = 0; $i < strlen($str); $i++) { if (in_array($str[$i], $temp)) { $result .= $str[$i]; } } echo $result; } } $str = '0我是123456一段测试的字789符串0'; findNum($str); ?>
上記のコードを分析してください:
trim($str)
を使用して両端のスペースを削除し、if ステートメントを使用してスペースを削除した後の文字列が空の文字列ではないことを確認します。
数値 0 ~ 9 をそれぞれ含む文字配列を作成します$temp
使用for ループは文字列 $str
を走査し、$str
の各文字を $temp
配列の要素と比較し、数値を取得します。 (in_array 関数を使用して、$str
の各文字が $temp
配列に存在するかどうかを検索し、その文字が数字であるかどうかを判断できます)。
取得した数字を「.=
」で結合し、結合した文字列を出力します。
出力を見てください:
OK、先頭に返される必要がある数値部分文字列「01234567890」です。記事の!
次に紹介する 2 番目のメソッド は、in_array() 関数が is_numeric() 関数に置き換えられることを除いて、最初のメソッドと似ています。
<?php header("content-type:text/html;charset=utf-8"); function findNum($str) { $str = trim($str); if (empty($str)) { echo ''; }else{ $result = ''; for ($i = 0; $i < strlen($str); $i++) { if (is_numeric($str[$i])) { $result .= $str[$i]; } } echo $result; } } $str = '0我是123456一段测试的字789符串0'; findNum($str); ?>
上記のコードを分析します:
for ループを使用して文字列 $str
を走査しますが、今回は数値文字配列を使用しません。 in_array() 関数を使用して数値かどうかを判断するには、 is_numeric() 関数を直接使用します。 is_numeric() 関数は、変数が数値であるか数値文字列であるかを検出できます。
ループ本体で is_numeric($str[$i])
を使用して、$str[$i]
文字が数値文字。その場合は、それを取り出し、「.=」を使用して数値部分文字列に連結します。
出力を見てください:
わかりました。これですべてです。他に知りたいことがある場合は、これをクリックしてください。 → →php ビデオチュートリアル
最後に、古典的なコース「PHP 文字列処理 (翡翠少女般若心経編)」を読むことをお勧めします。無料です。ぜひ学んでください。 !
以上がPHP 文字列から他の文字を削除し、数字だけを残す方法を学びます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。