{category}

PHP - 文字列関数

strlen()

ストリング・レングス(データ操作と変換

意味 文字列の長さを取得


strlen()とは?

strlen()は、PHPで文字列の長さ(文字数)を取得するための関数です。この関数を使うと、与えられた文字列に含まれる文字の数を簡単に知ることができます。

strlen()の具体的な使い方

パスワードの長さ検証

function validatePassword($password) {
    $minLength = 8;
    $maxLength = 20;
    $length = strlen($password);
    
    if ($length < $minLength) {
        return "パスワードが短すぎます。最低{$minLength}文字必要です。";
    } elseif ($length > $maxLength) {
        return "パスワードが長すぎます。最大{$maxLength}文字までです。";
    } else {
        return "パスワードの長さは適切です。";
    }
}

$password1 = "short";
$password2 = "thispasswordistoolong";
$password3 = "goodpassword";

echo validatePassword($password1) . "\n";
echo validatePassword($password2) . "\n";
echo validatePassword($password3) . "\n";

👇出力結果

パスワードが短すぎます。最低8文字必要です。
パスワードが長すぎます。最大20文字までです。
パスワードの長さは適切です。

この例では、strlen()関数を使用してパスワードの長さを検証しています。パスワードが最小長(8文字)未満、または最大長(20文字)を超える場合にエラーメッセージを返し、適切な長さの場合は成功メッセージを返します。これは、ユーザー登録やパスワード変更機能での入力検証に役立ちます。

文字列の切り詰め

function truncateString($string, $maxLength = 10) {
    $length = strlen($string);
    if ($length <= $maxLength) {
        return $string;
    } else {
        return substr($string, 0, $maxLength - 3) . '...';
    }
}

$text1 = "短い文";
$text2 = "これは長い文字列です。";

echo "元の文字列1: {$text1}\n";
echo "切り詰めた文字列1: " . truncateString($text1) . "\n\n";

echo "元の文字列2: {$text2}\n";
echo "切り詰めた文字列2: " . truncateString($text2) . "\n";

👇出力結果

元の文字列1: 短い文
切り詰めた文字列1: 短い文

元の文字列2: これは長い文字列です。
切り詰めた文字列2: これは長い...

この例では、strlen()関数を使用して文字列の長さを確認し、指定された最大長を超える場合に文字列を切り詰める関数を実装しています。文字列が最大長を超える場合、末尾を '...' で置き換えます。これは、ブログの抜粋やユーザー名の表示など、限られたスペースに長い文字列を表示する際に役立ちます。

strlen()に関するよくある質問

Q. マルチバイト文字の扱いは?
A. strlen()は文字列のバイト数を返すため、マルチバイト文字(日本語など)を含む文字列では、予想外の結果になる可能性があります。マルチバイト文字を正しく扱うには、mb_strlen()関数を使用することをお勧めします。
Q. 空文字列の長さは?
A. 空文字列("")のlengthは0です。strlen("")は0を返します。
Q. nullの長さを測定するとどうなる?
A. nullの長さを測定しようとすると(strlen(null))、PHPは警告を発し、0を返します。ただし、これは推奨される使用方法ではありません。変数がnullでないことを事前に確認することが良い実践です。

strlen()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのstrlen()やdate_format()、mb_substr()、floor()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

date_format()

日付時刻を指定形式に整形

種類: DateTime クラス

mb_substr()

マルチバイト文字列の一部を抽出

種類: マルチバイト文字列

floor()

数値を切り捨てる関数

種類: 数学関数

composer.lock

パッケージのバージョンを固定

種類: バージョン管理

(array)

配列への型変換

種類: 型変換