【PHP】これで分かる関数! – 文字列その4 –

PHP

更新履歴

更新日更新者更新内容
2021/8/18JJI・サンプルプログラムの実行結果に画面の画像を追加

strtolower、strtoupper

strtolower()、strtoupper()関数を使用したサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);

    echo "【PHP】関数<br>\n";
    echo "文字列関数:strtolower、strtoupper<br>\n";

    echo "小文字変換:abcde:" . strtolower("abcde") . ":<br>\n";
    echo "小文字変換:aBcDe:" . strtolower("aBcDe") . ":<br>\n";
    echo "小文字変換:aBハローDe:" . strtolower("aBハローDe") . ":<br>\n";

    echo "大文字変換:ABCDE:" . strtoupper("ABCDE") . ":<br>\n";
    echo "大文字変換:aBcDe:" . strtoupper("aBcDe") . ":<br>\n";
    echo "大文字変換:aBハローDe:" . strtoupper("aBハローDe") . ":<br>\n";
?>

実行結果は次の通りです。

・画面

・HTML

【PHP】関数<br>
文字列関数:strtolower、strtoupper<br>
小文字変換:abcde:abcde:<br>
小文字変換:aBcDe:abcde:<br>
小文字変換:aBハローDe:abハローde:<br>
大文字変換:ABCDE:ABCDE:<br>
大文字変換:aBcDe:ABCDE:<br>
大文字変換:aBハローDe:ABハローDE:<br>

substr

substr()関数を使用したサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);

    echo "【PHP】関数<br>\n";
    echo "文字列関数:substr<br>\n";

    echo_substr("abcdefghij", 3, 2);
    echo_substr("abcdefghij", 3, null);
    echo_substr("abcdefghij", -3, 2);
    echo_substr("abcdefghij", 10, 1);       // 文字列の長さを超える開始位置を指定
    echo_substr("abcdefghij", 7, 10);

    // マルチバイトの場合、正しく表示されない
    // マルチバイトが含まれる場合、mb_substr()を使用する
    echo_substr("ハローワールドようこそ", 3, 2);    // 文字化けが発生
    echo_substr("ハローワールドようこそ", 2, 3);    // 文字化けが発生
    
    function echo_substr(string $str, int $start_pos, ?int $len) :void {
        echo "文字列:${str}: 開始位置:${start_pos}: 長さ:${len}:";
        if(is_null($len)) {
            echo substr($str, $start_pos) . ":<br>\n";
            return ;
        }

        echo substr($str, $start_pos, $len) . ":<br>\n";
    }
?>

実行結果は次の通りです。

・画面

・HTML

【PHP】関数<br>
文字列関数:substr<br>
文字列:abcdefghij: 開始位置:3: 長さ:2:de:<br>
文字列:abcdefghij: 開始位置:3: 長さ::defghij:<br>
文字列:abcdefghij: 開始位置:-3: 長さ:2:hi:<br>
文字列:abcdefghij: 開始位置:10: 長さ:1::<br>
文字列:abcdefghij: 開始位置:7: 長さ:10:hij:<br>
文字列:ハローワールドようこそ: 開始位置:3: 長さ:2:�:<br>
文字列:ハローワールドようこそ: 開始位置:2: 長さ:3:��:<br>

trim

trim()関数を使用したサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);

    echo "【PHP】関数<br>\n";
    echo "文字列関数:trim<br>\n";

    echo '\n Hello World \n:' . trim("\n Hello World \n") . ":<br>\n";
    echo 'World Hello World:' . trim("World Hello World", "World") . ":<br>\n";

    // マルチバイトの場合、正しく動作しない
    echo 'ワールドハロー ようこそワールド:';
    echo trim("ワールドハロー ようこそワールド", "ワールド") . ":<br>\n";
?>

実行結果は次の通りです。

・画面

・HTML

【PHP】関数<br>
文字列関数:trim<br>
\n Hello World \n:Hello World:<br>
World Hello World: Hello :<br>
ワールドハロー ようこそワールド:�ロー ようこそ:<br>

コメント