Skip to content

language/operators: 単項演算子と instanceof の優先順位、前置演算子内の代入の結合に関する注記を同期#409

Merged
KentarouTakeda merged 1 commit into
php:masterfrom
KentarouTakeda:sync-operator-precedence-notes
Jul 11, 2026
Merged

language/operators: 単項演算子と instanceof の優先順位、前置演算子内の代入の結合に関する注記を同期#409
KentarouTakeda merged 1 commit into
php:masterfrom
KentarouTakeda:sync-operator-precedence-notes

Conversation

@KentarouTakeda

Copy link
Copy Markdown
Collaborator

概要

php/doc-en@80dfa568 (doc: clarify unary-vs-instanceof precedence and assignment
binding inside prefix operators) に追従し、演算子の優先順位に関する注記を2つ追加しました。

翻訳内容

  • language/operators/precedence.xml — 単項演算子と instanceof の優先順位、前置演算子内での代入の結合を明確化
    1. php/doc-en@80dfa568

追加した注記:

  • 演算子表の直後 — キャスト演算子と同じ行にある単項演算子 (~@、単項の +/-) は
    instanceof よりも強く結合するが、! は弱く結合する。したがって
    (int) $x instanceof Foo((int) $x) instanceof Foo に、
    !$x instanceof Foo!($x instanceof Foo) にグループ分けされる
  • if (!$a = foo()) の注記内 — 代入の左辺は変数でなければならないため、代入は周囲にある
    優先順位の高い前置演算子ではなくその変数とグループ分けされる。clone、キャスト演算子、
    @~ も同様で、clone $a = $bclone ($a = $b) にグループ分けされる

原文の差分は追加のみのため、既存の訳文は変更していません。

## 概要

php/doc-en@80dfa568 (doc: clarify unary-vs-instanceof precedence and assignment
binding inside prefix operators) に追従し、演算子の優先順位に関する注記を2つ追加しました。

## 翻訳内容

- language/operators/precedence.xml — 単項演算子と instanceof の優先順位、前置演算子内での代入の結合を明確化
  1. php/doc-en@80dfa568

追加した注記:

- 演算子表の直後 — キャスト演算子と同じ行にある単項演算子 (`~`、`@`、単項の `+`/`-`) は
  `instanceof` よりも強く結合するが、`!` は弱く結合する。したがって
  `(int) $x instanceof Foo` は `((int) $x) instanceof Foo` に、
  `!$x instanceof Foo` は `!($x instanceof Foo)` にグループ分けされる
- `if (!$a = foo())` の注記内 — 代入の左辺は変数でなければならないため、代入は周囲にある
  優先順位の高い前置演算子ではなくその変数とグループ分けされる。`clone`、キャスト演算子、
  `@`、`~` も同様で、`clone $a = $b` は `clone ($a = $b)` にグループ分けされる

原文の差分は追加のみのため、既存の訳文は変更していません。
@KentarouTakeda KentarouTakeda merged commit 4465a82 into php:master Jul 11, 2026
2 checks passed
@KentarouTakeda KentarouTakeda deleted the sync-operator-precedence-notes branch July 11, 2026 05:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant