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

ナビゲーションに移動 検索に移動
match文について。
(厳密な等価演算子===)
(match文について。)
 
余談ですが、PHPは変数に値を代入する際、じつは型の情報も保管しています。なので、上記のように厳密評価も必要に応じて行えるわけです。
 
 
 
== match文 ==
2020年11月リリース予定のPHP8からmatch文が加わります。
 
match文は、下記のように、引数の数値に基づいて場合分けをするときに、使います。
 
コード例
<syntaxhighlight lang="html5">
<?php
$x = 1;
 
match ($x) {
0 => print("aaaa" . "\n"),
1 => print("qwer" . "\n"),
2 => print("test" . "\n") ,
};
?>
</syntaxhighlight>
:(※ PHP公式のソースコンパイル php-8.0.0alpha3 で、2020年8月1日にLinux Fedora 32上で動作確認ずみ。)
:※ Fedora コマンドライン上での動作確認。(まだApacheなど関連アプリにバイナリ準備がされてないので。)
 
;実行結果
<pre>
qwer
</pre>
 
なお、switch文との違いとして、match文ではbreakが不要です。
 
macth文の方が便利なので、今後はmatch文の用例が増えると思います。
 
 
match文では、下記のように、戻り値を変数(下記コードでは変数 $message )に入れることもできます。
 
<syntaxhighlight lang="html5">
<?php
$x = 1;
 
$message = match ($x) {
0 => "aaaa",
1 => "qwer",
2 => "test" ,
};
 
print($message . "\n");
 
?>
</syntaxhighlight>
:(※ PHP公式のソースコンパイル php-8.0.0alpha3 で、2020年8月1日に動作確認ずみ。)
 
;実行結果
<pre>
qwer
</pre>
 
 
なお、match文の引数の比較は、厳密なイコール3個の等号<nowiki>===</nowiki>で比較判定されています。
 
一方、switch文の引数の比較は、曖昧なイコール2個の等号<nowiki>==</nowiki>で比較判定されています。
 
 
 
== 参考文献 ==
23,379

回編集

案内メニュー