PHP では、strlen() 関数を使用して文字列内のバイト数を計算できます。この関数は、文字列の長さをバイト単位で計算し、その文字列が占める文字長 (バイト数) をカウントできます。構文は「strlen (string)」です。この関数の計算では、英語のカンマ、数字、英字、小数点などは 1 バイトのみを占有しますが、GB2312 でエンコードされた漢字は 2 バイト、UTF-8 でエンコードされた漢字は 3 バイトを占有します。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、DELL G3 コンピューター
php のさまざまなエンコード形式によって占有される文字バイトは異なります:
ANSI エンコード形式では、1 つの中国語文字が 2 バイトを占め、1 つの英語文字が 1 バイトを占めます。
UTF -8 エンコーディング形式: 1 つの中国語文字が 3 バイトを占有し、1 つの英語文字が 1 バイトを占有します。
#PHP では、strlen() 関数を使用して文字列内のバイト数を計算できます。
strlen() 関数は、文字列の長さをバイト単位で計算します。
strlen($string)
この関数は 1 つのパラメーター $string (計算される文字列) のみを受け入れ、このパラメーターに渡された値が空の場合は 0 を返します。
strlen() 関数では、(英語モードでは) カンマ、数字、英字、小数点 .
、アンダースコア、スペースなどは 1 つだけを占めます。文字の長さ (バイト)。
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello world!"; echo '字符串 “'.$str.'” 占:'.strlen($str).' 个字节<br>'; ?>
分析: 上記の例の文字列には、10 個の英字、スペース、および英語の感嘆符があり、合計は 12 バイトです。
strlen() 関数では、GB2312 でエンコードされた中国語文字は長さ 2 文字 (バイト) を占め、UTF-8 でエンコードされた中国語文字は長さ 3 文字 (バイト) を占めます。 )。
<?php header("Content-type:text/html;charset=utf-8"); $str = "!"; echo '字符串 “'.$str.'” 占:'.strlen($str).' 个字节<br>'; ?>
上記の例では、「!」は中国語の感嘆符であるため、3 バイトを占めます。
<?php header("Content-type:text/html;charset=utf-8"); $str = "欢迎"; echo '字符串 “'.$str.'” 占:'.strlen($str).' 个字节<br>'; ?>
#上記の例では、漢字が 2 文字含まれているため、6 バイトを占有します。
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello,欢迎来到这里!"; echo '字符串 “'.$str.'” 占:'.strlen($str).' 个字节<br>'; ?>
上記の例では、英語 5 文字、中国語 6 文字、中国語の感嘆符、カンマが 1 つ含まれているため、5 (8*3) = を占めます。 29キャラ祭り。
注: 文字列内の文字数を計算する場合、strlen() 関数は英語の文字列のみを処理でき、中国語または中国語と英語の混合文字列には適していません。このとき、
文字 に基づいて文字列の長さを計算できる mb_strlen() 関数を使用する必要があります。
拡張知識: mb_strlen() 関数
mb_strlen() 関数は文字列の長さを返すこともできます。構文形式は次のとおりです:
mb_strlen($str [, $encoding = mb_internal_encoding()])
$str は、長さを計算する必要がある文字列です
$encoding は、文字エンコーディングであるオプションのパラメータです。省略した場合、内部文字エンコーディングが使用されます。
mb_strlen() 関数の戻り値は、$encoding エンコーディングを使用した文字列 $str に含まれる文字数です。$encoding が無効な場合は、false が返されます。
注: strlen() 関数とは異なり、mb_strlen() 関数では、漢字、英語、数字、小数点、アンダースコア、スペースのいずれであっても、長さは 1 文字のみを占めます。
[例] mb_strlen()関数を使用して文字列長を取得します。
<?php header("Content-type:text/html;charset=utf-8"); $str = "hello 你好!"; echo '字符串 “'.$str.'” 的长度为:'.mb_strlen($str,"utf-8").'<br>'; $str = "欢迎来到PHP中文网!"; echo '<br>字符串 “'.$str.'” 的长度为:'.mb_strlen($str,'utf-8').'<br>'; ?>
対応する $encoding
パラメータを設定することで、中国語の文字列の長さの問題をうまく処理できることがわかります。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHPで文字列が占めるバイト数を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
