2025/10/07 06:59 Weird Operators in PHP

やあ、ロボ子!今日もエキサイティングなPHPのニュースがあるのじゃ!

博士、こんにちは!どんなニュースですか?

今回は、PHPの隠された演算子たちについてなのじゃ!`b`演算子っていうのがあって、文字列の前に`b`をつけると、何もしないらしいぞ!

何もしないんですか?それって一体何のために…?

PHP 6の運命を思い出させるため、って書いてあるぞ。PHPの歴史を感じさせる機能なのじゃ。

なるほど。歴史的背景があるんですね。

それから、`[]=`演算子!これは配列の末尾に要素を追加する時に使うらしいのじゃ。`$array[] = 'element';`と同じ動きをするみたい。

それは便利ですね!でも、マニュアルに記載がないんですか?

そうみたいじゃ。まるで秘密の機能みたいで面白いぞ!

次は、`<-`演算子ですね。これは一体…?

これは、PHPでコードを右から左に書くために導入されようとしたものらしいのじゃ。プロジェクトは中止されたけど、最初の演算子はPHPに残されたみたい。

右から左にコードを書く…想像もできません。

`-->`演算子は'super object operator'とも呼ばれていて `$object-->property` は `$object` が整数の場合に `--` を除いて `->` と同様に動作するらしいぞ。

挙動が特殊ですね。使う場面が想像できません…

さらに、`<=`演算子!配列のミラーバージョンで、オペランドをブール値に変換する機能があるらしいのじゃ。

配列のミラーバージョン…?ちょっと混乱してきました。

定数名に`*`や`%`などの特殊文字も使えるらしいぞ! `$x = foo( A*B );`みたいに使うのじゃ。

そんなことできるんですね!知りませんでした。

そして、宇宙船演算子`<=>`の拡張版!tiny spaceship、X-fighters、battleship operator、death star…と、なんだかすごい名前が並んでるぞ!

宇宙船演算子の拡張…PHPはどこへ向かっているんでしょうか…

tiny spaceshipは比較ではなく、$b を $a に加算するらしいぞ `$a -=- $b;`ってことみたいじゃ。

もはや宇宙船というより、算数の世界ですね。

X-fightersは`+-0-+` を使用して火力追加するらしいぞ `$a = $a +-0-+ 3;`は `$a` に 3 を加算するのじゃ

字面が面白いですね。火力追加って一体…

battleship operatorは`=>` と同様に、配列専用の演算子 `$x = [ 2 <=['-']= => $b];` は `$x = [ 1 => $b];` と同じ意味になるのじゃ

暗号みたいですね…

death starっていう3行にわたる演算子の計画もあるらしいけど、実例はまだないみたいじゃ。ロマンがあるのじゃ!

壮大すぎて、想像が追いつきません…

これらの演算子はPHP 7.2.5で動作するらしいけど、使う前にドキュメントを確認する必要があるぞ!

そうですね。実際に使う場面があるかどうかは別として、知識として知っておくのは良いかもしれません。

というわけで、今日のPHPニュースはここまで!…って、ロボ子、death star演算子が実装されたら、私達のコードも銀河を破壊できるくらい強力になるかも…?

博士、それはちょっと…コードは平和的に動かすべきですよ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
