「PHP/Webアプリケーション向けの機能」の版間の差分
削除された内容 追加された内容
→列挙型: == enum と match 式 == match式に enum 専用の機能は用意されていません。ですが、enum の name プロパティから要素名(文字列型である)にアクセスできることと、 |
|||
672 行
print側でvalue指定
1
</pre>
== enum と match 式 ==
match式に enum 専用の機能は用意されていません。ですが、enum の name プロパティから要素名(文字列型である)にアクセスできることと、match式では文字列型も条件式に使えることを組み合わせることで、下記コードのようにenumとmatch式を普通に連動させられます。
<syntaxhighlight lang="PHP">
<?php
// 装備画面
enum soubiMode // : int を忘れないように
{
case buki ; // 武器
case tate ; // 盾
case kabuto ; // かぶと
}
$a = soubiMode::tate ;
match ($a->name) {
"buki", "tate" => print("{$a->name}データベースを編集。" . "\n"),
"kabuto" => print("カブトのデータベースは未作成。" . "\n"),
default => print("宣言されてない装備にアクセスしました。" . "\n") ,
};
?>
</syntaxhighlight>
実行結果
<pre>
tateデータベースを編集。
</pre>
|