[doc-en] master: Update operator precedence table (#2625)
| From: | Juliette via GitHub | Date: | Thu, 10 Sep 2026 07:59:40 +0000 |
| Subject: | [doc-en] master: Update operator precedence table (#2625) | ||
| Groups: | php.doc.cvs | ||
| Request: | Send a blank email to doc-cvs+get-23736@lists.php.net to get a copy of this message | ||
Author: Juliette (jrfnl)
Committer: GitHub (web-flow)
Pusher: lacatoire
Date: 2026-09-10T09:59:37+02:00
Commit: https://github.com/php/doc-en/commit/3a94de0974207a5704bb9f04377a2ea2baf487ba
Raw diff: https://github.com/php/doc-en/commit/3a94de0974207a5704bb9f04377a2ea2baf487ba.diff
Update operator precedence table (#2625)
* Update operator precedence table
Updates the table to match the information per the parser.
This adds entries for:
*
=>
* include, include_once, require, require_once
* fn
* throw
Ref: https://github.com/php/php-src/blob/2e2416825d2270d256f7597904e14e386cc0d854/Zend/zend_language_parser.y#L54-L82
Fixes 2622
* Operator precedence table: change links for double arrow to yield
* Operator precedence table: attempt to clarify fn arrow entry
* Operator precedence table: attempt to clarify fn arrow entry [2]
---------
Co-authored-by: jrfnl <jrfnl@users.noreply.github.com>
Changed paths:
M language/operators/precedence.xml
Diff:
diff --git a/language/operators/precedence.xml b/language/operators/precedence.xml
index 35ac34c0cb7a..9d4f02925ef5 100644
--- a/language/operators/precedence.xml
+++ b/language/operators/precedence.xml
@@ -256,6 +256,13 @@
<link linkend="control-structures.yield.from">yield from</link>
</entry>
</row>
+ <row>
+ <entry>(n/a)</entry>
+ <entry><literal>=></literal></entry>
+ <entry>
+ <link linkend="language.generators.syntax">yield with keys</link>
+ </entry>
+ </row>
<row>
<entry>(n/a)</entry>
<entry><literal>yield</literal></entry>
@@ -289,6 +296,26 @@
<link linkend="language.operators.logical">logical</link>
</entry>
</row>
+ <row>
+ <entry>(n/a)</entry>
+ <entry>
+ <literal>include</literal>
+ <literal>include_once</literal>
+ <literal>require</literal>
+ <literal>require_once</literal>
+ </entry>
+ <entry>
+ <function>include</function>,
+ <function>include_once</function>,
+ <function>require</function>&listendand;
+ <function>require_once</function>
+ </entry>
+ </row>
+ <row>
+ <entry>(n/a)</entry>
+ <entry><literal>fn (...) =></literal></entry>
+ <entry><link linkend="functions.arrow">fn arrow</link>
disambiguity</entry>
+ </row>
<row>
<entry>(n/a)</entry>
<entry><literal>throw</literal></entry>