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

PHP

更新履歴

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

chop/rtrim

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

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

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

    echo 'Hello World \n:' . rtrim("Hello World \n") . ":<br>\n";
    echo 'Hello World:' . rtrim("Hello World", "World") . ":<br>\n";
    echo 'ハロー ワールド:' . rtrim("ハロー ワールド", "ワールド") . ":<br>\n";
?>

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

・画面

・HTML

【PHP】関数<br>
文字列関数:chop/rtrim<br>
Hello World \n:Hello World:<br>
Hello World:Hello :<br>
ハロー ワールド:ハロー :<br>

chr

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

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

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

    // 1バイト文字
    echo 'chr(34):' . chr(34) . ":<br>\n";
    // Unicode文字
    echo 'chr(240) . chr(159) . chr(144) . chr(152):' . chr(240) . chr(159) . chr(144) . chr(152) . ":<br>\n";

    // // ループで1~255の文字を出力
    // for($i = 1; $i <= 255; $i++) {
    //     echo $i . ":" . chr($i) . ": ";
    // }
?>

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

・画面

・HTML

【PHP】関数<br>
文字列関数:chr<br>
chr(34):":<br>
chr(34):🐘:<br>

echo/printf

echo()、printf()関数を使用したサンプルプログラムです。
これらの関数は文字列を表示する関数であり、よく使用します。
このブログのサンプルプログラムでよく使用しています。

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

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

    $var = "エコー";
    echo 'echo:' . $var . ":<br>\n";

    printf("\$var:%s<br>\n", $var);
    printf("%d:%05d: %f:%.2f:<br>\n", 100, 100, 21.123, 21.123);
    printf("%s:%10s:<br>\n", "hello", "hello");
?>

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

・画面

・HTML

【PHP】関数<br>
文字列関数:echo/printf<br>
echo:エコー:<br>
$var:エコー<br>
100:00100: 21.123000:21.12:<br>
hello:     hello:<br>

printf()関数のフォーマットはよく忘れることが多いです。
忘れた場合、次のPHPマニュアルを見るようにしてください。

PHP: printf - Manual

explode

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

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

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

    $fruits = "いちご,ばなな,banana,パイナップル,apple";

    $data = explode(",", $fruits);
    for($i = 0; $i < count($data); $i++) {
        echo "${i}:$data[$i]:";
    }
    echo "<br>\n";

    list($fruit_en, $fruit_jp, $attr1) = explode(":", "banana:ばなな:甘い");
    echo "$fruit_en $fruit_jp $attr1" . "<br>\n";
?>

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

・画面

・HTML

【PHP】関数<br>
文字列関数:explode<br>
0:いちご:1:ばなな:2:banana:3:パイナップル:4:apple:<br>
banana ばなな 甘い<br>

htmlentities、htmlspecialchars

htmlentities()、htmlspecialchars()関数を使用したサンプルプログラムです。
これらの関数はWebプログラムのセキュリティ対策として、HTML出力時によく使用します。
htmlspecialchars()は特定の文字のみHTMLエンティティに変換します。
このHTMLの文字変換をHTMLのエスケープ処理とも呼びます。

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

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

    $html_str = "<a id=\"lable1\" href='aaa.com'>こちらのサイトへ</a>";

    echo htmlentities($html_str) . "<br>\n";
    echo htmlentities($html_str, ENT_QUOTES) . "<br>\n";
    echo htmlspecialchars($html_str) . "<br>\n";
?>

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

・画面

・HTML

【PHP】関数<br>
文字列関数:htmlentities、htmlspecialchars<br>
&lt;a id=&quot;lable1&quot; href='aaa.com'&gt;こちらのサイトへ&lt;/a&gt;<br>
&lt;a id=&quot;lable1&quot; href=&#039;aaa.com&#039;&gt;こちらのサイトへ&lt;/a&gt;<br>
&lt;a id=&quot;lable1&quot; href='aaa.com'&gt;こちらのサイトへ&lt;/a&gt;<br>

コメント