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

PHPのIntlChar::ispunct()関数の使い方を徹底解説

PHPのIntlChar::ispunct()関数は、指定された入力文字が句読点(punctuation)文字であるかどうかを判定するための関数です。Unicodeの文字カテゴリに基づいて判定が行われ、カンマ(,)やコロン(:)などの記号類が該当します。

構文

bool IntlChar::ispunct(val)

パラメータ

  • val − 判定対象となる文字を指定します。整数値(Unicodeコードポイント)またはUTF-8文字列としてエンコードされた1文字を渡すことができます。このパラメータは必須です。

戻り値

IntlChar::ispunct()関数は、渡された値(val)が句読点文字である場合にTRUEを返します。句読点文字でない場合はFALSEを返します。また、複数文字の文字列など無効な入力が渡された場合はNULLが返されます。

使用例1

まずは基本的な使用例を見てみましょう。

<?php
   var_dump(IntlChar::ispunct("1"));
   echo "<br>";
   var_dump(IntlChar::ispunct(","));
   echo "<br>";
   var_dump(IntlChar::ispunct("q"));
?>

出力結果

上記のコードを実行すると、次のような出力が得られます。

bool(false)
bool(true)
bool(false)

数字の「1」やアルファベットの「q」は句読点ではないためfalseが返され、カンマ「,」は句読点に該当するためtrueが返されています。

使用例2

続いて、別の文字を指定した例を見てみましょう。

<?php
   var_dump(IntlChar::ispunct(";"));
   echo "<br>";
   var_dump(IntlChar::ispunct(":"));
   echo "<br>";
   var_dump(IntlChar::ispunct("10"));
?>

出力結果

上記のコードを実行すると、次のような出力が得られます。

bool(true)
bool(true)
NULL

セミコロン「;」とコロン「:」は句読点文字に該当するためtrueが返されます。一方、「10」のように複数文字の文字列を渡すと判定が行えないため、NULLが返される点に注意してください。

まとめ

IntlChar::ispunct()関数を使うことで、文字が句読点かどうかを簡単に判定できます。文字列のバリデーションやテキスト処理において、記号文字を識別したい場合に活用できる便利な関数です。なお、この関数はIntl拡張モジュール(Internationalization extension)が有効になっている環境でのみ使用可能です。

  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::ispunct()関数の使い方を徹底解説

    PHPのIntlChar::ispunct()関数は、指定された入力文字が句読点(punctuation)文字であるかどうかを判定するための関数です。Unicodeの文字カテゴリに基づいて判定が行われ、カンマ(,)やコロン(:)などの記号類が該当します。構文bool IntlChar::ispunct(val)パラメータval − 判定対象となる文字を指定します。整数値(Unicodeコードポイント)またはUTF-8文字列としてエンコードされた1文字を渡すことができます。このパラメータは必須です。戻り値IntlChar::ispunct()関数は、渡された値(val)が句読点文字である場合にT