PHPでは、 Strrev()は、文字列を反転するために使用できる非常にシンプルな組み込み関数です。この関数を使用すると、文字列を後ろからフォワードにすばやくめくることができます。この記事では、STRREV()関数をPHPで使用する方法を紹介して、弦の反転の操作を完了し、その使用の例を示します。
phpのstrrev()関数は、文字列を引数として取り、倒立バージョンの文字列を返します。この関数の構文は非常に単純です:
<span><span><span class="hljs-title function_ invoke__">strrev</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">string</span></span><span>
</span></span>
$文字列:逆にする必要がある元の文字列。
strrev()は文字順を反転するだけで、文字列内の文字自体を変更せず、Unicode文字セットまたはマルチバイト文字に一定の制限があります。したがって、マルチバイトのキャラクター(中国語など)を扱っている場合は、これに注意を払う必要がある場合があります。
まず、 strrev()を使用して文字列を反転する方法を示す簡単な例を見てみましょう。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello, World!"</span></span><span>;
</span><span><span class="hljs-variable">$reversedStr</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrev</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$reversedStr</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
出力結果:
<span><span><span class="hljs-addition">!dlroW ,olleH</span></span><span>
</span></span>
この例では、 strrev()関数は文字列「hello、world!」を正常に反転させます。 「!dlrow、olleh」へ。
実際のアプリケーションでは、ユーザーが入力した文字列を処理してそれらを逆にする必要があることがよくあります。これが例です。ユーザーが文字列を入力すると、プログラムは倒立バージョンの文字列を出力します。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">"REQUEST_METHOD"</span></span><span>] == </span><span><span class="hljs-string">"POST"</span></span><span>) {
</span><span><span class="hljs-variable">$inputString</span></span><span> = </span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'inputString'</span></span><span>];
</span><span><span class="hljs-variable">$reversedInput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strrev</span></span><span>(</span><span><span class="hljs-variable">$inputString</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">$reversedInput</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
<form method=</span><span><span class="hljs-string">"post"</span></span><span>>
文字列を入力します: <input type=</span><span><span class="hljs-string">"text"</span></span><span> name=</span><span><span class="hljs-string">"inputString"</span></span><span>>
<input type=</span><span><span class="hljs-string">"submit"</span></span><span> value=</span><span><span class="hljs-string">"反転"</span></span><span>>
</form>
</span></span>
この例では、ユーザーが文字列を入力して提出すると、プログラムは文字列の反転結果を表示します。
文字列の文字順だけでなく、単語の順序も反転する場合は、 strrev()とexploit()およびinprode()関数を組み合わせてそれを実現できます。以下は、単語の順序を反転させる例です。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"PHP is awesome"</span></span><span>;
</span><span><span class="hljs-variable">$words</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">" "</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
</span><span><span class="hljs-variable">$reversedWords</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_reverse</span></span><span>(</span><span><span class="hljs-variable">$words</span></span><span>);
</span><span><span class="hljs-variable">$reversedStr</span></span><span> = </span><span><span class="hljs-title function_ invoke__">implode</span></span><span>(</span><span><span class="hljs-string">" "</span></span><span>, </span><span><span class="hljs-variable">$reversedWords</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$reversedStr</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
出力結果:
<span><span>awesome </span><span><span class="hljs-keyword">is</span></span><span> PHP
</span></span>
この例では、最初にexploit()関数を使用して文字列を空間ごとに単語配列に分割し、次にarray_reverse()関数を使用して単語配列の順序を反転させ、最後にinprode()を使用して反転した単語配列を文字列に再調整します。
Strrev()は便利ですが、マルチバイト文字の処理にいくつかの制限があります。ユニコード文字(中国語やその他のマルチバイト文字など)に対処する必要がある場合は、代わりにPHPのMB_STRREV()機能を使用できます。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$unicodeStr</span></span><span> = </span><span><span class="hljs-string">"こんにちは,世界!"</span></span><span>;
</span><span><span class="hljs-variable">$reversedUnicodeStr</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_strrev</span></span><span>(</span><span><span class="hljs-variable">$unicodeStr</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$reversedUnicodeStr</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
MB_STRREV()は、マルチバイト文字を正しく反転できるMBSTRing拡張機能の一部です。
strrev()は、弦を反転するためのPHPで非常にシンプルで有用な機能です。単純なシングルバイト文字を処理するか、組み合わせ機能を介してより複雑なシナリオを処理するかにかかわらず、タスクを効率的に完了できます。マルチバイト文字を扱う場合、 MB_STRREV()を使用して、文字が誤って分割されないようにしません。これらの基本的な使用法を習得すると、PHPで文字列反転操作を簡単に実装できます。