PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのIntlChar::isalpha()関数の使い方を具体例付きで解説

PHPのIntlChar::isalpha()関数は、指定された入力が英字(アルファベット)の文字であるかどうかを判定するための関数です。この関数はPHPの国際化拡張モジュール(intl)に含まれており、Unicodeの文字カテゴリに基づいて判定を行います。

構文

IntlChar::isalpha( $val )

パラメータ

  • val − 判定対象となる整数値、またはUTF-8でエンコードされた1文字。必須のパラメータです。

戻り値

IntlChar::isalpha()関数は、渡された値が英字の文字であればTRUEを返します。数字や記号など英字以外の文字の場合はFALSEを返します。また、複数文字からなる文字列を渡した場合にはNULLが返される点に注意してください。この関数は基本的に単一の文字(コードポイント)に対して動作します。

以下は、数字と英字をそれぞれ判定するシンプルな例です。

<?php
   var_dump(IntlChar::isalpha("7"));
   echo "<br>";
   var_dump(IntlChar::isalpha("M"));
?>

出力

上記のコードを実行すると、次のような結果になります。

bool(false)
bool(true)

別の例

続いて、複数文字の文字列や数字のみの文字列を渡した場合の挙動を確認してみましょう。

<?php
   var_dump(IntlChar::isalpha("Amit"));
   echo "<br>";
   var_dump(IntlChar::isalpha("Jacob87876"));
   echo "<br>";
   var_dump(IntlChar::isalpha("87876"));
   echo "<br>";
   var_dump(IntlChar::isalpha("A"));
?>

出力

上記のコードを実行すると、次のような結果になります。

NULL
NULL
NULL
bool(true)

結果のポイント

「Amit」や「Jacob87876」のように複数文字の文字列を渡すとNULLが返ります。これは、IntlChar::isalpha()が単一の文字(コードポイント)を前提として動作しているためです。文字列全体が英字のみで構成されているかを調べたい場合は、preg_match()などの正規表現関数を併用するのがおすすめです。

  1. PHPのIntlChar::isIDStart()関数とは?使い方とサンプルコードを解説

    IntlChar::isIDStart() 関数は、指定された文字が識別子(identifier)の先頭の文字として使用できるかどうかを判定するための関数です。変数名やクラス名など、PHPにおける識別子の命名規則をチェックしたい場合に役立ちます。 構文 bool IntlChar::isIDStart(val) パラメータ val − UTF-8文字列としてエンコードされた1文字、または整数値(Unicodeコードポイント)を指定します。 戻り値 引数 val が識別子の先頭文字として有効な場合は TRUE(bool(true)) を返し、無効な場合は FALSE(bool(false))

  2. PHPのIntlChar::isalpha()関数の使い方を具体例付きで解説

    PHPのIntlChar::isalpha()関数は、指定された入力が英字(アルファベット)の文字であるかどうかを判定するための関数です。この関数はPHPの国際化拡張モジュール(intl)に含まれており、Unicodeの文字カテゴリに基づいて判定を行います。構文IntlChar::isalpha( $val )パラメータval − 判定対象となる整数値、またはUTF-8でエンコードされた1文字。必須のパラメータです。戻り値IntlChar::isalpha()関数は、渡された値が英字の文字であればTRUEを返します。数字や記号など英字以外の文字の場合はFALSEを返します。また、複数文字からな