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

→‎match式: default について追記
(→‎match式: fedora 35 でapache上でphp8のmatche式の動作確認が取れたので、記述を更新。)
(→‎match式: default について追記)
:※ Fedora 35 で apache上でほぼ標準設定のままで動作していることを確認。(2021年10月27日にFedora 35 beta のapache で確認済み。)
 
;実行結果
<pre>
qwer
match式では、下記のように、戻り値を変数(下記コードでは変数 $message )に入れることもできます。
 
コード例
<syntaxhighlight lang="PHP">
<?php
:※ Fedora 35 で apache上でほぼ標準設定のままで動作していることを確認。(2021年10月27日にFedora 35 beta のapache で確認済み。)
 
;実行結果
<pre>
qwerffff
 
一方、switch式の引数の比較は、曖昧なイコール2個の等号<nowiki>==</nowiki>で比較判定されています。
 
 
 
;default
match式における条件わけの引数の値を下記のように <code>default</code> で、どれにもヒットしなかった場合の結果を示せます。
 
コード例
<syntaxhighlight lang="PHP">
<?php
$x = 5;
 
match ($x) {
0 => print("aaaa" . "\n"),
1 => print("qwer" . "\n"),
default => print("ddd" . "\n") ,
2 => print("test" . "\n") ,
};
?>
</syntaxhighlight>
 
 
実行結果
<pre>
ddd
</pre>
 
上記コード例では動作原理の説明のために意図的に default を最後には書きませんでしたが、普通のプログラミングでは下記のように default は最後に書きます。
 
コード例
<syntaxhighlight lang="PHP">
<?php
$x = 5;
 
match ($x) {
0 => print("aaaa" . "\n"),
1 => print("qwer" . "\n"),
2 => print("test" . "\n") ,
default => print("ddd" . "\n") ,
};
?>
</syntaxhighlight>
 
実行結果は同様に<code>ddd </code> です。
 
== 参考文献 ==
23,070

回編集