
スキルアップ
2021.01.08
社会人の勉強は何をするべき?勉強のメリットと勉強方法も紹介!
社会人になっても勉強は必要!と言われても、何を勉強したら良いのか迷いますよね。仕事に関わるスキルを磨いたり、資格を取得したりする他にも、勉強できることはたくさんあります。ここでは、社会人が勉強するメリット、オススメの勉強 […]
PHP
2019.05.16
PHP で文字列の長さを取得する場合は strlen 関数を使用しますが、strlen 関数では意図する結果が得られない場合もあります。
今回は PHP で文字列の長さを取得する方法を紹介します。
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方
最終更新日:2019年5月16日
1.strlen で文字列の長さを取得
2.mb_strlen で文字数を取得
strlen 関数は、文字列の長さをバイト数で返す関数です。
次のように記述して使用します。
strlen ( 文字列 ) ;
引数に、対象となる文字列を指定します。
strlen 関数を使用して 文字列の長さを取得してみます。
下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)
<?php echo strlen("12abc"); echo "<br>"; echo strlen("12 abc"); echo "<br>"; echo strlen("12あいう"); echo "<br>"; echo strlen("12 あいう"); ?>
「 echo 」は、データを出力するために使用する PHP の命令です。
「 strlen(“12abc”) 」の出力値が「 5 」なのは想定できますが「 strlen(“12あいう”) 」が「 15 」なのは意外かもしれません。
これは、strlen 関数の戻り値が、文字数ではなく バイト数であることに起因する現象です。
半角英数字や半角スペース等は 1 文字が 1 バイトなので strlen 関数の戻り値を文字数と捉えて問題ありませんが、日本語や全角スペース等が入った文字列の文字数を取得したい場合は、次章で紹介する mb_strlen 関数を使用します。
また、上のサンプルでは strlen 関数の引数に文字列を直接指定していますが、プログラム上では「 strlen($str) 」のように文字列変数を指定することが多いです。
半角英数字等の文字列に関しては strlen 関数で取得した数値が文字数となりますが、漢字や平仮名等が入った文字列に関しては strlen 関数で文字数を取得することはできません。
そこで、半角英数字以外の文字が入った文字列に関しては、mb_strlen 関数を使用して文字列の長さを取得します。
mb_strlen 関数は、文字列の文字数を返す関数です。
次のように記述して使用します。
mb_strlen ( 文字列 [, エンコーディング ] ) ;
第 1 引数には、対象となる文字列を指定します。
第 2 引数には、文字エンコーディングを指定することができます。
文字エンコーディングを指定しない場合は、PHP の設定ファイル上の文字エンコーディング( PHP5.6.0以降は UTF-8 がデフォルト値 )が適用されます。
mb_strlen 関数を使用して 文字列の文字数を取得してみます。
下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)
<?php echo mb_strlen("12abc"); echo "<br>"; echo mb_strlen("12 abc"); echo "<br>"; echo mb_strlen("12あいう"); echo "<br>"; echo mb_strlen("12 あいう"); ?>
mb_strlen 関数を使用すると、半角文字でも全角文字でも 文字数を取得することができます。
strlen 関数と同様に、スペースも文字数にカウントされます。
スキルアップ
2021.01.08
社会人になっても勉強は必要!と言われても、何を勉強したら良いのか迷いますよね。仕事に関わるスキルを磨いたり、資格を取得したりする他にも、勉強できることはたくさんあります。ここでは、社会人が勉強するメリット、オススメの勉強 […]
スキルアップ
2021.01.08
独学でフリーランスエンジニアを目指す方へ向けて、未経験からフリーランスエンジニアになるための手順や独学でのプログラミング学習法、必要なスキルなどをご紹介します。 独学とスクールどちらで勉強すればいいか迷っている、そもそも […]
スキルアップ
2021.01.05
高卒女子の就職内定率は大卒女子とほぼ同じ。でも知恵袋には「高卒女性が応募できる正社員求人って少ないのでは…?」と心配する人たちもいるようですが、資格なしでも高収入が期待できる仕事はたくさんあります。そこで今回は現役女子高 […]
スキルアップ
2020.12.30
プログラマの仕事に興味はあるものの「プログラマの仕事はきつい」というのを耳にして不安に思ったりしていませんか?なぜプログラマの仕事はきついといわれるのか?そもそも未経験からでもプログラマになれるのか?本記事では、プログラ […]
スキルアップ
2020.12.21
技術の進歩に伴い、IT業界も人気の業界のひとつとなりましたが、「IT業界はブラック企業が多いからエンジニアを目指すのはやめとけ」という声も聞こえてきます。これは本当なのでしょうか?この記事では、実際の疑問の声に対する理由 […]
スキルアップ
2020.12.18
仕事にやりがいを感じられず悩んではいませんか?本記事では、仕事で満足感を得るにはどうすればいいのか、やりがいの感じやすいお仕事7選、仕事にやりがいを見つけるポイント、転職しなくても仕事の満足度をあげる方法などをご紹介しま […]
INTERNOUS,inc. All rights reserved.