【 PHP 】PHP8に入門してみた 166日目 PHPの基本 ( ユーザー定義関数 名前をください?)

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

ユーザー定義関数

無名関数 クロージャ

PHPでは名前を持たない関数を作成することが可能です。

<!DOCTYPE html>

<html>

<head>
    <meta charset="UTF-8" />
    <title>こんにちは!</title>
    <!-- Bootstrapを有効化 -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
</head>

<body>
    <?php
    // 高階関数myArrayWalkを定義
    function myArrayWalk(array $array, callable $func): void
    {
        // 配列 $arrayの内容を順に処理
        foreach ($array as $key => $value) {
            $func($value, $key); // $funcで指定された関数を呼び出し
        }
    }

    // 配列を処理するためのユーザー定義関数
    // function showItem(mixed $value, int | string $key): void
    // {
    //     print "{$key}:{$value}<br />";
    // }

    $data = ['杉山', '永田', '杉沼', '和田', '土井',];
    myArrayWalk($data, /*★*/function (mixed $value, int | string $key): void {
        print "{$key}:{$value}<br />";
    });
    ?>
</body>

</html>

無名関数は「再利用」を意識するのではなく「処理を束ねる」に注力した機構です。

なので、型宣言も省略するのが基本・・・とは言いますがJavaをやってきた身としては型宣言しないと不安になります😅

メモ

使いすぎは禁物だと思いました。

PHPPHP

Posted by raika@blog