PHPの宇宙船演算子というのを発見した件について

こんにちは!

とびろぐ管理人のとびうおです。

PHPのドキュメントを読んでいたら、「宇宙船演算子」というのを発見したので、今回はこれについての記事を書いていきます。

とびうお
とびうお

PHPの宇宙船演算子!?というの
少し気になりますね…!

そもそも宇宙船演算子とは?

宇宙船演算子ってなんで宇宙船演算子なんですかね…。

まあ、それは置いておいて、ドキュメントにあった宇宙船演算子は以下のようなものです。

<?php
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

echo $a <=> $b; // ???

このように演算子としては <=>のような演算子で、$aが$bよりも大きい場合は1、$aと$bが等しい場合は0、$aが$bよりも小さい場合は-1をそれぞれ返すと言ったものになっています。

とびうお
とびうお

確かに、
大なり小なりと等しいを組み合わせたものっぽいですね

文字列の比較だって!

なんと、この宇宙船演算子ですが、文字列の比較までもできてしまいます。

// 文字列
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
とびうお
とびうお

文字的にaの方がbよりも小さいんですね

宇宙船演算子の使い所

宇宙演算子の使い所としては、配列のsortです。

以下のようにプログラミングをすると、sortをすることができます!

        $array = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
        usort($array, function($a, $b) {
            return $a <=> $b;
        });

         // ソート後の配列を表示
        foreach ($array as $value) {
            echo $value . ' ';
        }
PHPの宇宙船演算子というのを発見した件について
とびうお
とびうお

このように数字の場合簡単にsortできるよ!

さらに英語でも!

さらに、英語の場合でも簡単にsortすることが可能です。

        $array = ["orange", "apple", "banana"];
        usort($array, function($a, $b) {
            return $a <=> $b;
        });

        // ソート後の配列を表示
        foreach ($array as $value) {
            echo $value . ' ';
        }
PHPの宇宙船演算子というのを発見した件について
とびうお
とびうお

おー!

便利ですね!

おわりに

宇宙船演算子という少し変わった名前でしたが、実用性の高い演算子であることがわかりましたね!

ちなみに、名前の由来は、<=>という形からだそうですよ!

なんともユニークな演算子でした!

とびうお
とびうお

便利な演算子でしたね!

トビログにはこの他にもたくさんLaravelの記事があります!

ぜひチェックしてみてください↓↓

Laravel
「Laravel」の記事一覧です。
とびうお
ブログ管理人です!
swimaneというアプリをリリースしました!

コメント

タイトルとURLをコピーしました