PHPの文字列の長さ(桁数)の取得方法

PHPの文字列の長さ(桁数)の取得方法

PHPでstrlen()関数、mb_strlen()関数を使用して文字列の長さ(桁数)を取得する方法をご紹介します。

strlen

文字列の長さを取得します。バイト数での取得になります。
全角、半角で返ってくる長さが違います。

基本構文

strlen( 対象文字列 );

全角の桁数

1文字につき3になります。

<?php
print strlen('林檎');     //6 全角漢字
print strlen('りんご');  //9 全角ひらがな
print strlen('リンゴ');  //9 全角カタカナ
print strlen('123');  //9 全角数字
print strlen('   ');  //9 全角スペース
?>

半角の桁数

カタカナの長さは濁音、半濁音、拗音は1文字につき3になります。
英字、数字、記号、スペースの長さは1文字につき1になります。

<?php
print strlen('リンゴ');   //12 半角カナ(濁音)
print strlen('゙゚');     //6 半角カナ(半濁音)
print strlen('チョコ');    //9 半角カナ(拗音)
print strlen('abc');   //3 半角英字
print strlen('123');   //3 半角数字
print strlen('!@?');   //3 半角記号
print strlen(' ');       //3 半角スペース
?>

mb_strlen

文字数を取得します。
全角、半角ともに1文字につき1になります。

基本構文

mb_strlen( 対象文字列 [ ,文字コード]] );

全角の桁数

<?php
print mb_strlen('林檎');     //2 全角漢字
print mb_strlen('りんご');  //3 全角ひらがな
print mb_strlen('リンゴ');  //3 全角カタカナ
print mb_strlen('123');  //3 全角数字
print mb_strlen('   ');  //3 全角スペース
?>

半角の桁数

<?php
print mb_strlen('リンゴ');  //4 半角カナ(濁音)
print mb_strlen('゙゚');     //3 半角カナ(半濁音)
print mb_strlen('チョコ');   //3 半角カナ(拗音)
print mb_strlen('abc');  //3 半角英字
print mb_strlen('123');  //3 半角数字
print mb_strlen('!@?');  //3 半角記号
print mb_strlen(' ');      //3 半角スペース
?>