古庄親方の上級試験コラム#009「言語リファレンス > 演算子」

http://php.net/manual/ja/language.operators.php

目次

様々な演算子

比較演算子https://www.php.net/manual/ja/language.operators.comparison.phpは「比較のための演算子」で、真偽値(bool)の値を返します。
== と === の違い(と、実務を考えるとPHP7までとPHP8以降の==の挙動の違い)、 <=>(宇宙船演算子)について押さえておくとよいでしょう。

論理演算子https://www.php.net/manual/ja/language.operators.logical.php は「2つの真偽値(bool)のオペランドに対して論理積、論理和、排他的論理和の演算をするためのものです。返す値も真偽値(bool)になります。
論理演算子のうち論理積と論理和は2種類あります。これは「演算子の優先順位」が異なるためです。
また、短絡評価(論理演算子と左辺の値によっては、右辺が評価されないことがある)についても理解しておくとよいでしょう。

文字列演算子https://www.php.net/manual/ja/language.operators.string.phpは、文字列を結合するための演算子です。
左右辺の型によらず、返す値は文字列(string)になります。

配列演算子https://www.php.net/manual/ja/language.operators.array.phpは配列に対する演算子です。
配列に対して、+や==、===などの演算ができます。
マニュアルには「同等(Equality)」「同一(Identity)」と書かれていますが、「キーと値のペアが一致していればよい:同等(Equality)」と「キーと値が、並び順と型まで含めて完全一致している:同一(Identity)」で少し演算子が変わるので、その辺りを意識するとよいでしょう。
また、+演算子については、「array_merge()関数」や「配列内でのアンパック(3点リーダー/3点ドット)」と挙動が異なるので、その辺りも留意しましょう。

このコラムに関連するコードはこちらになります
https://github.com/php-engineer-examination/php8_column_expert/blob/main/src/009.php

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次