アフィリエイト広告を利用しています
検索
<< 2024年11月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
タグクラウド
カテゴリーアーカイブ
ファン
最新コメント
プロフィール
ゼロから始めるシステム開発さんの画像
ゼロから始めるシステム開発
 こんにちは!ナビゲータのEVEです。各種研究室を用意し、次期EVEシステムを製造しようと日々頑張っています。現在一番力を入れているのが、資金調達です。このブログもその一環ですので、ご協力いただければ嬉しいです。
プロフィール

2024年11月06日

match 〜プログラム研究室〜


 こんにちは!
 ナビゲータのEVEです。
デスクワーク.jpg
 昨日は、アメリカ大統領選挙でした。本日開票速報を見ているのですが、がっかりです。民主主義を守るという意味から、民主党のハリスさんを応援していたのですが、現時点の経過情報を見ると負けそうです。
 私自身の意見ですが、この結果日本に大きく影響しそうです。昔は、「アメリカがゴホンと咳をすれば、日本が風邪をひく」なんて言われていましたが、病弱な現在はもっと影響を受けそうです。
 この結果日本の衆議院選よりも影響がでかいと思っています。それは、日本の政治家は選挙活動のときはいろいろ言いますが、結局できない場合が多いことや、変わっても元に戻ってしまうなどということが普通にあるからです。だから、衆議院選挙結果がどうなっても、日本は変わらないと思っています。
 故安倍首相がトランプさんがいっている政策を聞いて、リップサービスだと話していましたが、日本の政治家はそのレベルだから仕方がありません。
 では、本日も、PHPの気になった情報を紹介しましょう!

[match]
 PHP8から、matchという関数が追加されました。どんな機能かというと、プログラム言語を1つでも知っている方はご存じかもしれませんが、switchの強化版です。
 では、実際にどんな機能なのか、独習PHP第4版の抜粋を見てみましょう!

独習PHP/山田祥寛【3000円以上送料無料】

価格:3740円
(2024/11/6 17:00時点)
感想(0件)




 いわゆる「値を返せるswitch」です。

★構文


match(式){
値1=>式1,
値2=>式2,
値3=>式3 ,
default=>式N
}


・与えられた式と値が1、2...Nが一致する場合に、対応する式1、2...Nを返すわけです。defaultは特別な値で、すべての値にマッチしない場合に帰す値を示します。
・caseの判定式は、等価演算子ではなく、厳密等価演算子で判定される。厳格に判定したい場合は、等価演算子で判定するswitch文ではなく、match文を利用すべき。
・break文は不要
・=>の右辺には単一の式
・=>の左辺には任意の式を指定できる。メソッド、関数を指定することができます。



[目から鱗]
 ここで実は目から鱗なのは、switch文の判定結果は、if文で利用するイコールが2つで、比較する等価演算子と同様の機能なのだが、matchでは、イコール3で判定する厳密等価演算子と同じだというのです。正直言うと、switchが等価演算子だということを知りませんでした。
 それでは、等価演算子と厳密等価演算子についてChatGPTに解説をしてもらいましょう!

■== (等価演算子)(イコールが2つで判定する場合)
 == は、等価演算子として動作し、値が等しいかどうかを比較します。データ型は考慮せずに、値だけを比較します。そのため、比較する2つの値が異なるデータ型であっても、PHPが型を自動的に変換してから比較します。



$a = 5;
$b = "5";

if ($a == $b) {
echo "等しいです"; // このコードは実行される
} else {
echo "等しくありません";
}



■=== (厳密等価演算子)(イコールを3つで判定する場合)
 === は、厳密等価演算子として動作し、値とデータ型の両方が等しいかどうかを比較します。型変換を行わず、データ型が異なる場合は「等しくない」と判断されます。


$a = 5;
$b = "5";

if ($a === $b) {
echo "厳密に等しいです";
} else {
echo "厳密に等しくありません"; // このコードが実行される
}



PSRに対応している現在は、等価演算子なのか厳密等価演算子なのかということは非常に重要です。ただ、以前のバージョンのPHPは、型の扱いが非常にゆるく、引数や返却値などの型指定もできなかったりして、指定することにより逆に不具合があるかと思うところはありましたが、PHP8でプログラムを作るまたは書き換えるなら、厳密等価演算子ですべて判定すべきでしょう!

[あとがき]
 他人の国の選挙結果でやる気をなくしてしまいましたが、いいこともあります。トランプさんが大統領になると、株価が上がり、景気が良くなりそうだということです。ただ、インフレ率が上昇し、ドル高・円安になるのじゃないかと心配しています。
 以前、ブログで書きましたが、アメリカは金利20%の時代もあったそうです。その時のFRBは、以下のようなことをいっていました。

 労働者の需要が供給を大幅に上回っており、それにより生じる高インフレの重荷は、それを負担する能力が最も低い人々に最も重くのしかかる。

 インフレはそれ自体を餌にしている。だから、より安定した、より生産的な経済への回帰の仕事の一部は、インフレ期待の支配を解くことでなければならない。


 では、また!

■2023年8月25日 ジャクソンホール会議を受けてのパウエル議長講演
https://fanblogs.jp/socialsystem/archive/25/0