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

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

演算子には優先順位があります https://www.php.net/manual/ja/language.operators.precedence.php
記憶しておく必要はないかもしれませんが、「優先順位がある」事は理解しておきましょう。
優先順位が異なる場合は「より優先順位の高い」演算子から解決され、同じ優先順位の場合は「結合時の評価」がrightかleftかの評価順番によって解決順番が決まります。
厳密には不要な場所であっても、括弧をつけておけばコードの可読性があがります。

目次

様々な演算子

代入演算子 https://www.php.net/manual/ja/language.operators.assignment.php
代入演算子は「値を代入する」演算子です。より正確には「演算子の右辺(右オペランド)の値を、左辺(左オペランド)に代入する」演算子です。
代入演算子を使った構文は「代入式」と呼ばれます。「式」であるため値を返します。代入式では「代入された値」が返ってきますが、これを利用した構文もあるので理解しておくとよいでしょう。

また、算術演算子や配列結合、文字列演算子等に関して 複合演算子 というものがあります。
使用頻度の高いものなので、理解しておきましょう。

算術演算子https://www.php.net/manual/ja/language.operators.arithmetic.php と 加算子/減算子https://www.php.net/manual/ja/language.operators.increment.phpは、数値の四則演算などを行います。
基本的な所はすでに初級で学んでいると思うので。ポイントとしては「** の演算子で累乗が計算できること、除算演算子(割り算)は「基本的には浮動小数点数(float)を返すが、2つのオペランドがどちらも整数、かつ割り切れる時」のみ整数値(int)を返す」事、あたりを押さえておくとよいでしょう。
加算子/減算子は、前置と後置で「値を返すタイミングと値を変更するタイミング」が異なる事に注意しましょう。
また、文字型の変数に対して「加算子は作用する」事、および作用の仕方について把握しておくとよいでしょう。

ビット演算子https://www.php.net/manual/ja/language.operators.bitwise.phpは「整数値 に対して、特定のビットの評価や操作」を行います。
ただし、シフト演算子の場合のあふれたビットの処理には注意しましょう。

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

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

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