現在の位置: ホーム> 最新記事一覧> チョップとストレンでPHPで文字列の長さを判断するためのヒント

チョップとストレンでPHPで文字列の長さを判断するためのヒント

gitbox 2025-09-09
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// これがサンプルコードの始まりです,記事の内容とは何の関係もありません</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"いらっしゃいませ PHP 文字列処理の例!\n"</span></span><span>;
</span><span><span class="hljs-variable">$example</span></span><span> = </span><span><span class="hljs-string">"サンプル文字列"</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-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$example</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

存在する PHP 真ん中,字符串处理是开发真ん中非常常见的任务。何度も,文字列の長さを取得するだけではありません,还需要处理末尾可能存存在する的多余空白字符。ここ,`</span><span><span class="hljs-title function_ invoke__">chop</span></span><span>()` そして `</span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>()` 組み合わせて使用​​できます,より正確な文字列長判断を実装します。

</span><span><span class="hljs-comment">### 1. chop() の役割</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">chop</span></span><span>()`(そのエイリアスはです `</span><span><span class="hljs-title function_ invoke__">rtrim</span></span><span>()`)文字列の最後にある白文字または指定された文字を削除するために使用されます。例えば:

```php
</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">$trimmed</span></span><span> = </span><span><span class="hljs-title function_ invoke__">chop</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-string">"'"</span></span><span> . </span><span><span class="hljs-variable">$trimmed</span></span><span> . </span><span><span class="hljs-string">"'"</span></span><span>; </span><span><span class="hljs-comment">// 出力 'Hello World'</span></span><span>
</span></span>

CHOP()を介してエンドスペースを削除した後、「きれいな」文字列を取得してから長さを判断できます。

2。strlen()の役割

strlen()は、文字列のバイト長を取得するために使用されます。通常のASCII文字の場合、バイトの長さは文字の長さと同じですが、マルチバイト文字(中国語など)で使用すると長さは異なる場合があります。

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// 出力 5</span></span><span>
</span></span>

3. CHOPとSTRLENを使用して、有効な長さを決定する

文字列の実際の有効長さ(エンドスペースを削除した後の長さ)を取得したい場合は、まずCHOP()を使用してエンドスペースを削除し、次にstrlen()を使用して長さを取得できます。

 <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">$effectiveLength</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-title function_ invoke__">chop</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-string">"有効長:"</span></span><span> . </span><span><span class="hljs-variable">$effectiveLength</span></span><span>; </span><span><span class="hljs-comment">// 出力 11</span></span><span>
</span></span>

この方法では、スペースまたは新しいライン文字によって引き起こされる長さの判断逸脱を回避でき、ユーザーがファイルコンテンツを入力または読み取るシナリオの処理に特に適しています。

4。拡張スキル

文字列の最初と端にある両方のWhitespace文字を削除する場合は、 trim()を使用して、長さを取得できます。

 <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">$cleanLength</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-title function_ invoke__">trim</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-string">"両端で空白スペースを取り外した後の長さ:"</span></span><span> . </span><span><span class="hljs-variable">$cleanLength</span></span><span>; </span><span><span class="hljs-comment">// 出力 11</span></span><span>
</span></span>

さらに、マルチバイト文字(中国語、日本など)の場合、 strlen()の代わりにmb_strlen()を使用して、長さの計算エラーを回避することをお勧めします。

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"こんにちは,世界   "</span></span><span>;
</span><span><span class="hljs-variable">$effectiveLength</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_strlen</span></span><span>(</span><span><span class="hljs-title function_ invoke__">chop</span></span><span>(</span><span><span class="hljs-variable">$str</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-string">"有効長:"</span></span><span> . </span><span><span class="hljs-variable">$effectiveLength</span></span><span>; </span><span><span class="hljs-comment">// 出力 5</span></span><span>
</span></span>

5。概要

  • CHOP()は、文字列の端にある空白を削除するために使用され、 rtrim()は同義関数です。

  • strlen()は、文字列の長さを計算するために使用され、通常のASCII文字に直接使用できます。

  • CHOP()strlen()を組み合わせると、端が除く空白を削除した後、文字列の長さを正確に決定できます。

  • マルチバイト文字には、 MB_STRLEN()をお勧めします。

この手法を通じて、開発者は文字列の入力と長さの判断をより正確に処理し、Whitespace文字によって引き起こされるトラブルを回避できます。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// サンプルコードの終了,記事の内容とは何の関係もありません</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n文字列処理デモは終了します。\n"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>