PHPにおけるエルビス演算子について


機能についての説明はあるのですが、エルビス演算子との記載はありません

> もうひとつの条件演算子として "?:"（あるいは三項）演算子があります。

[公式ドキュメント(日本語)](https://www.php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary)  
[公式ドキュメント(英語)](https://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary)

・PHPにおけるエルビス演算子は、他言語のエルビス演算子とは何か異なるのですか？  
・そもそもエルビス演算子という名称は一般的ではない？？




### 「そもそもエルビス演算子という名称は一般的ではない？？」が正解

と言って良いでしょう。Wikipediaの「[エルビス演算子](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%AB%E3%83%93%E3%82%B9%E6%BC%94%E7%AE%97%E5%AD%90)」に記載されている例からいくつか拾ってみると

  * [GNU C/C++ (GCCによる拡張)](https://gcc.gnu.org/onlinedocs/gcc/Conditionals.html#Conditionals) C言語に対する拡張の部分で三項演算子の第二項が省略可能なことは言及されているが、Elvis operatorなんて言い方は出てこない。

  * PHP ご質問中のリンク先にあるように、「三項演算子のまんなかの部分」を省略できることは書かれているが、「エルビス演算子」なんて言葉は出てこない。

  * [Apache Groovy](http://groovy-lang.org/operators.html#_elvis_operator) 「Elvis operator」で見出しが建てられているが、その本文は「The "Elvis operator" is ...」(意訳: 「いわゆる『エルビス演算子』と言うのは…」)てな感じで引用符付きの`"Elvis operator"`で始まっていて、必ずしも概念や意味が読み手の側にも定着した用語としては扱われていない。

  * [Kotlin](https://kotlinlang.org/docs/reference/null-safety.html#elvis-operator) 「Elvis operator」で見出しが建てられている。本文もKotlin言語における`?:`演算子の記述。ちなみにはっきり「論理型」の概念のあるKotlinでは、「三項演算子の第二項を省略したもの」とはだいぶ違う。

比較的古くに言語仕様が固まっている言語では「エルビス演算子」なんて言葉は使われていない、と言う傾向にあるように思われます。  
(サンプル数が少ないので、他の観点でも分けられそうですが。)

とにかく確実に言えるのは「三項演算子の第二項省略をサポートする言語でも『エルビス演算子』なんて言葉は使っていない場合がある」、と言うことですね。

と言うわけで「エルビス演算子」と言う言葉は、プログラマーズスラングをちょっと超えた程度の認知度の単語、と言うことになりそうです。




### 「そもそもエルビス演算子という名称は一般的ではない？？」が正解

と言って良いでしょう。Wikipediaの「[エルビス演算子](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%AB%E3%83%93%E3%82%B9%E6%BC%94%E7%AE%97%E5%AD%90)」に記載されている例からいくつか拾ってみると

  * [GNU C/C++ (GCCによる拡張)](https://gcc.gnu.org/onlinedocs/gcc/Conditionals.html#Conditionals) C言語に対する拡張の部分で三項演算子の第二項が省略可能なことは言及されているが、Elvis operatorなんて言い方は出てこない。

  * PHP ご質問中のリンク先にあるように、「三項演算子のまんなかの部分」を省略できることは書かれているが、「エルビス演算子」なんて言葉は出てこない。

  * [Apache Groovy](http://groovy-lang.org/operators.html#_elvis_operator) 「Elvis operator」で見出しが建てられているが、その本文は「The "Elvis operator" is ...」(意訳: 「いわゆる『エルビス演算子』と言うのは…」)てな感じで引用符付きの`"Elvis operator"`で始まっていて、必ずしも概念や意味が読み手の側にも定着した用語としては扱われていない。

  * [Kotlin](https://kotlinlang.org/docs/reference/null-safety.html#elvis-operator) 「Elvis operator」で見出しが建てられている。本文もKotlin言語における`?:`演算子の記述。ちなみにはっきり「論理型」の概念のあるKotlinでは、「三項演算子の第二項を省略したもの」とはだいぶ違う。

比較的古くに言語仕様が固まっている言語では「エルビス演算子」なんて言葉は使われていない、と言う傾向にあるように思われます。  
(サンプル数が少ないので、他の観点でも分けられそうですが。)

とにかく確実に言えるのは「三項演算子の第二項省略をサポートする言語でも『エルビス演算子』なんて言葉は使っていない場合がある」、と言うことですね。

と言うわけで「エルビス演算子」と言う言葉は、プログラマーズスラングをちょっと超えた程度の認知度の単語、と言うことになりそうです。

