【 PHP 】PHP8に入門してみた 155日目 PHPの基本 ( ユーザー定義関数 PHP流の静的変数)
PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。
ユーザー定義関数
Javaユーザから見るとちょっと面白い 静的変数
Javaでもおなじみの静的変数
。クラス定義の直下に実装してみんなで使いましょ!という感じでした。
PHP
では静的変数は「関数で値を保持するための変数」となるようです。
実装はstatic
命令を使います。関数内でstatic
命令を使って変数宣言すれば
関数の処理が終わっても値は保持され、次の呼び出し時に参照・更新可能です。
コルーチン
みたいな考え方でいいのかな?
<!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
function checkStatic(): int
{
static $x = 0;
return ++$x;
}
print checkStatic() . "<br />";
print checkStatic() . "<br />";
print $x; // でも関数外では使えないという・・・。
?>
</body>
</html>
メモ
かなり画期的!
でもそれってオブジェクトのインスタンスでよいのでは・・・。
そういえばPHP
はもともとクラスの概念が無かったのでしたかね。その名残でしょうか。
ディスカッション
コメント一覧
まだ、コメントがありません