96746


PHPの演算子を分類するとどうなりますか？

「代入演算子」「文字列演算子」「複合演算子」の関係性がよく分かりません。

Q1.「+=」は何の演算子ですか？  
・「代入演算子」でありかつ「算術演算子」でありかつ「複合演算子」でもある？

Q2.「.=」は何の演算子ですか？  
・「代入演算子」でありかつ「文字列演算子」でありかつ「複合演算子」でもある？

それとも「複合演算子」は、基本代入演算子である「=」と組み合わせた時の「+」や「.」を指すのですか？


CC BY-SA 4.0
2023-11-10T15:49:23.213
96743
2023-11-10T16:27:28.640
7886
question
php
PHPの演算子の分類について


以下のページの先頭の方に記述が有ります。  
[PHP マニュアル > 言語リファレンス > 演算子 >
代入演算子](https://www.php.net/manual/ja/language.operators.assignment.php)

> 代入演算子の基本となるものは "=" です。

> 基本代入演算子に加えて、全ての 演算子、配列結合および文字列演算子に関して 「複合演算子」があります。

A1. 上記と同じページの途中に「算術代入演算子」と書いてあります。  
[算術代入演算子](https://www.php.net/manual/ja/language.operators.assignment.php#language.operators.assignment.arithmetic)

A2. 「文字列演算子」というものの１つで「結合代入演算子」と呼ばれるようです。  
[文字列演算子](https://www.php.net/manual/ja/language.operators.string.php)

> 文字列の演算子は 2 種類あります。最初のは結合演算子('.')で、右引数と 左引数を結合したものを返します。2 番目は、結合代入演算子('.=')で、
> この演算子は右側の引数に左側の引数を追加します。

それから下記に関しては、「代入」と「算術」や「文字列結合」の機能を併せ持った「複合演算子」ということなのでは？

>   * 「代入演算子」でありかつ「算術演算子」でありかつ「複合演算子」でもある？
>   * 「代入演算子」でありかつ「文字列演算子」でありかつ「複合演算子」でもある？
>


CC BY-SA 4.0
2023-11-10T16:27:28.640
96746
2023-11-10T16:27:28.640
26370
96743
answer