1
0

More than 3 years have passed since last update.

「やればできる!」と言われたときだけ「ビビビビビタミン!MATCH」と返すmatch式

Last updated at Posted at 2021-06-23

はじめに

こんにちは。先日兄から自動化処理の仕事を受注しました、筆者です :bow:

さて、今回は初のネタ記事です:smile:

でも一応PHP8に触れているので興味持っていただければそれだけでうれしいです:bow:

MATCHという飲み物を知っていますか?

↓これ

自分は高校生の頃に飲んでいた記憶です。

食堂(購買)横に設置している自販機に夏になる現れる人気(主観)な飲み物です!

私だけですかね、なんか青春って感じがします :relaxed:

最近はお笑い芸人のティモンディの2人がCMをやっていますね!

match式を知っていますか?

これ↓

PHP8で追加された、関数ではなく、です!

(コマンドで関数のリファレンス参照しようとして気づきました、、あ、関数じゃないわ、これ :sweat_smile: )

$ php -v
PHP 8.0.3 (cli) (built: Mar  5 2021 07:54:13) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.3, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.3, Copyright (c), by Zend Technologies
$ php --rf match
Exception: Function match() does not exist

ざっくり説明すると、厳密なswitch文みたいな感じです。
ただ、使い方によってはあいまい差を持たせることもできます。

match式のメリット

ざっと思いつくメリットは以下でして、フォールスルーは場合によってはスマート(主観)に書けるケースもあると思っているので、すべてが悪だと私は思っていませんが、バグの温床にもなるので無いと助かります。

  1. フォールスルーしない
  2. 厳密な比較
  3. 返り値がある式

本題

ただただ、match式を使いたいだけに、「やればできる!」と言われたときだけ「ビビビビビタミン!MATCH」と返すmatch式を作ります!

<?php
echo match ($argv[1]) {
    'やればできる!' => "ビビビビビタミン!MATCH\n",
    'なせばなる' => "vitamin\n",
    'うてばひびく' => "ティモンディ\n",
    default => null
};

実行

$ php match.php "やればできる!"
ビビビビビタミン!MATCH
$ php match.php "なせばなる"
vitamin

おわりに

やればできたよ!

それでは!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0