「PHP/条件分岐」の版間の差分

=== enum の関数 === enum は関数の引数にすることもできる。
(→‎スカラ値つきのenum: さて、enumで定義した整数値を使って計算したい場合、下記のように<code>->value</code>プロパティで代入値にアクセスする必要があります。)
(=== enum の関数 === enum は関数の引数にすることもできる。)
$a = soubiMode::tate->value ;
 
// 現状では if 文で事前にenum格納した変数を呼び出さないとエラーになる。
if ($a == 2 ){
print("{$a}番データベースを編集。" . "\n") ;
print("こっちには来てない。" . "\n") ;
}
 
?>
</syntaxhighlight>
if ($a == 4 ){
print("こっちには来てない。" . "\n") ;
}?>
 
?>
</syntaxhighlight>
:(※ 2021年12月03日にPHP8.1 リリース版を、Fedora 35上でビルドして動作確認。)
<pre>
3番データベースを編集。
</pre>
 
=== enum の関数 ===
enum は関数の引数にすることもできる。(関数について詳しくは[[PHP/入門/関数とは]]で扱う。)
 
<syntaxhighlight lang="PHP">
<?php
// 装備画面
enum soubiMode: int // : int を忘れないように
{
case buki = 1; // 武器
case tate = 2 ; // 盾
case kabuto = 3 ; // かぶと
}
 
// $a = soubiMode::tate->value ;
 
print("enum関数実験" . "\n") ;
function f($mode){
print "$mode->name \n";
print "$mode->value \n";
}
 
f(soubiMode::tate);
f(soubiMode::kabuto);
 
?>
</syntaxhighlight>
:(※ 2021年12月04日にPHP8.1 リリース版を、Fedora 35上でビルドして動作確認。)
 
実行結果
<pre>
enum関数実験
tate
2
kabuto
3
</pre>
 
23,070

回編集