PHPのsubst()関数は、文字列から指定されたサブストリングを抽出するために使用されます。元の文字列、開始位置、傍受された長さの3つのパラメーターを渡す必要があり、最後に傍受された文字列を返します。
<span class="fun">subst(String $ String、int $ start、int | null $ length = null):string</span>
パラメーター説明:
文字列:必須、処理する文字列を示します。
開始:必須、サブストリングの開始位置。正の数字は、文字列の先頭から始まることを示し、負の数は文字列の終わりから始まることを示します。
長さ:オプション、傍受された長さを示します。このパラメーターが渡されない場合、文字列の開始位置から端までのすべての文字が返されます。
$str = "Hello, World!";
$subStr = substr($str, 0, 5);
echo $subStr; // 出力 "Hello"
この例では、文字列$ strの0番目の位置から5文字をインターセプトすると、結果は「hello」です。
この関数は、元の文字列の指定された位置から部分的に抽出された傍受された文字列フラグメントを返します。
開始位置が負の場合、substr()関数は文字列の端から前方に計算されます。例えば:
$str = "Hello, World!";
$subStr = substr($str, -6);
echo $subStr; // 出力 "World!"
開始位置が文字列の長さを超えた場合、空の文字列が返されます。
$str = "Hello, World!";
$subStr = substr($str, 20);
echo $subStr; // 出力 ""
substr()は、ファイル拡張機能の抽出、URLの一部のコンテンツの傍受など、実際の開発で広く使用されています。たとえば、ファイル拡張子を取得します。
$fileName = "example.txt";
$extension = substr($fileName, strrpos($fileName, '.') + 1);
echo $extension; // 出力 "txt"
この例では、最初にstrrpos()を通る最後のドットの位置を見つけ、次にsubstr()を使用して拡張機能を抽出します。
subst()関数は、PHPで一般的に使用される文字列処理関数であり、文字列の任意の部分を柔軟に傍受できます。それを使用する場合、開始位置の肯定的および否定的な意味とインターセプト長の設定に注意を払う必要があります。マルチバイト文字を含む文字列の場合、傍受エラーを避けるために、マルチバイト対応のMB_SUBSTR()関数を使用することをお勧めします。