PHPでは、文字列操作は一般的で重要なタスクの1つです。多くの場合、文字列の一部を傍受する必要があります。 strrposとsubststrは、文字列の最後の文字位置から開始し、文字列の最後まで内容を傍受するために組み合わせて使用できる2つの非常に実用的なPHP関数です。
STRRPOS関数は、文字列内の文字またはサブストリングの最後の発生を見つけるために使用されます。この関数は、文字またはサブストリングのオフセット(つまり、文字列の開始位置から見つかった文字位置までの距離)を返し、見つからない場合はfalseを返します。
<span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
$ haystack :検索する文字列。
$針:見つかるキャラクターまたはサブストリング。
$ offset :オプション、オフセット、見始める場所を指定し、デフォルトは0です。
副関数は、文字列からサブストリングを抽出するために使用されます。開始位置と長さを与えることにより、指定された部分を傍受します。
<span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$length</span></span><span> = ?): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
$文字列:元の文字列が入力されました。
$ start :インターセプトされた開始位置は、正または負の数になります。負の数は、計算が文字列の端から始まることを意味します。
$ length :オプション、インターセプトされた長さは、省略された場合、文字列の端に傍受されます。
次に、 strrpos関数と副関数を組み合わせて、文字列のコンテンツを傍受する必要があります。特定の要件は、文字列内の指定された文字の最後の位置から開始し、文字列の端まで傍受します。
文字列$ str = "Apple、Banana、Cherry、Apple、Orange"があると仮定し、最後の「Apple」が最後に表示される場所から傍受したいと考えています。最初にstrrposを使用して、文字列内の最後の「リンゴ」の位置を見つけます。
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"apple, banana, cherry, apple, orange"</span></span><span>;
</span><span><span class="hljs-variable">$last_pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"apple"</span></span><span>); </span><span><span class="hljs-comment">// 最後のものを見つけます "apple" 位置</span></span><span>
</span></span>
$ last_posは、文字列内の「Apple」の最後の発生、つまり24を保存するようになりました。
次に、 substr関数を使用して、 $ last_posから文字列の最後まで傍受します。
<span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$last_pos</span></span><span>); </span><span><span class="hljs-comment">// 最後のものから "apple" 位置开始截取</span></span><span>
</span></span>
この時点で、 $ resultの値は「Apple、Orange」であり、これは文字列の最後の「Apple」のコンテンツです。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 元の文字列</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"apple, banana, cherry, apple, orange"</span></span><span>;
</span><span><span class="hljs-comment">// 最後のものを見つけます "apple" 位置</span></span><span>
</span><span><span class="hljs-variable">$last_pos</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"apple"</span></span><span>);
</span><span><span class="hljs-comment">// キャラクターが見つかったかどうかを判断します</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$last_pos</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-comment">// 最後のものから "apple" 文字列の端を傍受し始めます</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$last_pos</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"インターセプトされたコンテンツはです: "</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"指定された文字は見つかりませんでした"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
<span><span><span class="hljs-section">インターセプトされたコンテンツはです: apple, orange</span></span><span>
</span></span>
strrpos関数とsubstr関数を組み合わせることにより、特定の文字またはサブストリングが文字列の端までに最後に表示されるときから、文字列からコンテンツを簡単に取得できます。 STRRPOSは、最後の文字の位置を見つけるのに役立ち、 subsstrはその場所から残りの文字列コンテンツを抽出するために使用されます。