Skip to content

Commit 4ec0fe3

Browse files
committed
Update language/bc
1 parent efa4e7d commit 4ec0fe3

File tree

9 files changed

+120
-158
lines changed

9 files changed

+120
-158
lines changed

language/types/array.xml

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 8859c8b96cd9e80652813f7bcf561432a5e9f934 Maintainer: HonestQiao Status: ready -->
3+
<!-- EN-Revision: cb3794f501ce55cedc40125fb995018bdc4ac1d1 Maintainer: HonestQiao Status: ready -->
44
<!-- CREDITS: Geogory, dallas, jwj, mowangjuanzi, Luffy -->
55
<sect1 xml:id="language.types.array">
66
<title>Array 数组</title>
@@ -307,6 +307,55 @@ array(7) {
307307
]]>
308308
</screen>
309309
</example>
310+
311+
<example>
312+
<title>负数索引示例</title>
313+
<simpara>
314+
当分配负整数 key <literal>n</literal> 时,PHP 会将下一个 key 分配给 <literal>n+1</literal>。
315+
</simpara>
316+
<programlisting role="php">
317+
<![CDATA[
318+
<?php
319+
$array = [];
320+
321+
$array[-5] = 1;
322+
$array[] = 2;
323+
324+
var_dump($array);
325+
?>
326+
]]>
327+
</programlisting>
328+
&example.outputs;
329+
<screen>
330+
<![CDATA[
331+
array(2) {
332+
[-5]=>
333+
int(1)
334+
[-4]=>
335+
int(2)
336+
}
337+
]]>
338+
</screen>
339+
340+
<warning>
341+
<simpara>
342+
PHP 8.3.0 之前,分配负整数 key <literal>n</literal> 会将下一个 key 分配给
343+
<literal>0</literal>,因此前面的示例将输出:
344+
</simpara>
345+
<informalexample>
346+
<screen>
347+
<![CDATA[
348+
array(2) {
349+
[-5]=>
350+
int(1)
351+
[0]=>
352+
int(2)
353+
}
354+
]]>
355+
</screen>
356+
</informalexample>
357+
</warning>
358+
</example>
310359
</sect3>
311360

312361
<sect3 xml:id="language.types.array.syntax.accessing">

reference/bc/functions/bcadd.xml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 23f5599c8cc2713e7a4fdc29d8cceab66c341c48 Maintainer: jakquan Status: ready -->
4-
<!-- Reviewed: no -->
5-
3+
<!-- EN-Revision: ddb05f8827151e25dd1c3e058f95f6c024bc881b Maintainer: jakquan Status: ready -->
4+
<!-- CREDITS: mowangjuanzi -->
65
<refentry xml:id="function.bcadd" xmlns="http://docbook.org/ns/docbook">
76
<refnamediv>
87
<refname>bcadd</refname>
@@ -54,6 +53,21 @@
5453
</para>
5554
</refsect1>
5655

56+
<refsect1 role="errors">
57+
&reftitle.errors;
58+
<para>
59+
此函数在下列情况下抛出 <exceptionname>ValueError</exceptionname>:
60+
<simplelist>
61+
<member>
62+
<parameter>num1</parameter> 或 <parameter>num2</parameter> 不是格式正确的 BCMath 数字字符串。
63+
</member>
64+
<member>
65+
<parameter>scale</parameter> 超出有效范围。
66+
</member>
67+
</simplelist>
68+
</para>
69+
</refsect1>
70+
5771
<refsect1 role="changelog">
5872
&reftitle.changelog;
5973
<informaltable>

reference/bc/functions/bccomp.xml

Lines changed: 11 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 23f5599c8cc2713e7a4fdc29d8cceab66c341c48 Maintainer: Jerry Status: ready -->
4-
<!-- Reviewed: no -->
5-
6-
<refentry xml:id="function.bccomp" xmlns="http://docbook.org/ns/docbook">
3+
<!-- EN-Revision: ddb05f8827151e25dd1c3e058f95f6c024bc881b Maintainer: Jerry Status: ready -->
4+
<!-- CREDITS: mowangjuanzi -->
5+
<refentry xml:id="function.bccomp" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
76
<refnamediv>
87
<refname>bccomp</refname>
98
<refpurpose>比较两个任意精度的数字</refpurpose>
@@ -18,53 +17,24 @@
1817
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
1918
</methodsynopsis>
2019
<para>
21-
比较 <parameter>num1</parameter> 和 <parameter>num2</parameter>,
22-
并且返回整型数字的结果。
20+
将 <parameter>num1</parameter> 与 <parameter>num2</parameter> 进行比较,并返回整型数字的比较结果。
2321
</para>
2422
</refsect1>
2523

2624
<refsect1 role="parameters">
27-
&reftitle.parameters;
28-
<para>
29-
<variablelist>
30-
<varlistentry>
31-
<term><parameter>num1</parameter></term>
32-
<listitem>
33-
<para>
34-
左边的运算数,是一个字符串。
35-
</para>
36-
</listitem>
37-
</varlistentry>
38-
<varlistentry>
39-
<term><parameter>num2</parameter></term>
40-
<listitem>
41-
<para>
42-
右边的运算数,是一个字符串。
43-
</para>
44-
</listitem>
45-
</varlistentry>
46-
<varlistentry>
47-
<term><parameter>scale</parameter></term>
48-
<listitem>
49-
<para>
50-
可选的 <parameter>scale</parameter> 参数被用作设置指示数字,
51-
在使用来作比较的小数点部分。
52-
</para>
53-
</listitem>
54-
</varlistentry>
55-
</variablelist>
56-
</para>
25+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.bcadd')/db:refsect1[@role='parameters']/*)" />
5726
</refsect1>
5827

5928
<refsect1 role="returnvalues">
6029
&reftitle.returnvalues;
61-
<para>
62-
两个数相等时返回 0;
63-
<parameter>num1</parameter> 比 <parameter>num2</parameter> 大时返回 1;
64-
其他则返回 -1。
65-
</para>
30+
<simpara>
31+
如果所有的操作数相等返回 <literal>0</literal>;如果 <parameter>num1</parameter> 大于
32+
<parameter>num2</parameter> 时返回 <literal>1</literal>,否则返回 <literal>-1</literal>。
33+
</simpara>
6634
</refsect1>
6735

36+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.bcadd')/db:refsect1[@role='errors'])" />
37+
6838
<refsect1 role="changelog">
6939
&reftitle.changelog;
7040
<informaltable>

reference/bc/functions/bcmod.xml

Lines changed: 7 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 87f32875a189be7ee2a8487c0db3958579e4ce72 Maintainer: jakquan Status: ready -->
3+
<!-- EN-Revision: ddb05f8827151e25dd1c3e058f95f6c024bc881b Maintainer: jakquan Status: ready -->
44
<!-- CREDITS: mowangjuanzi -->
5-
<refentry xml:id="function.bcmod" xmlns="http://docbook.org/ns/docbook">
5+
<refentry xml:id="function.bcmod" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
66
<refnamediv>
77
<refname>bcmod</refname>
88
<refpurpose>任意精度数字取模</refpurpose>
@@ -17,35 +17,13 @@
1717
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
1818
</methodsynopsis>
1919
<para>
20-
对 <parameter>num1</parameter> 使用 <parameter>num2</parameter> 取模。
21-
除非 <parameter>num2</parameter> 是零,否则结果必定和 <parameter>num1</parameter>
22-
有相同的符号。
20+
对 <parameter>num1</parameter> 使用 <parameter>num2</parameter> 取模。结果与
21+
<parameter>num1</parameter> 的符号相同。
2322
</para>
2423
</refsect1>
2524

2625
<refsect1 role="parameters">
27-
&reftitle.parameters;
28-
<para>
29-
<variablelist>
30-
<varlistentry>
31-
<term><parameter>num1</parameter></term>
32-
<listitem>
33-
<para>
34-
string 类型的被除数。
35-
</para>
36-
</listitem>
37-
</varlistentry>
38-
<varlistentry>
39-
<term><parameter>num2</parameter></term>
40-
<listitem>
41-
<para>
42-
string 类型的除数。
43-
</para>
44-
</listitem>
45-
</varlistentry>
46-
&bc.scale.description;
47-
</variablelist>
48-
</para>
26+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.bcadd')/db:refsect1[@role='parameters']/*)" />
4927
</refsect1>
5028

5129
<refsect1 role="returnvalues">
@@ -55,19 +33,7 @@
5533
</para>
5634
</refsect1>
5735

58-
<refsect1 role="errors">
59-
&reftitle.errors;
60-
<para>
61-
函数在下列情况会抛出 <exceptionname>ValueError</exceptionname>:
62-
<simplelist>
63-
<member><parameter>num1</parameter> 或 <parameter>num2</parameter> 不是格式正确的 BCMath 数字字符串</member>
64-
<member><parameter>scale</parameter> 超出有效范围</member>
65-
</simplelist>
66-
</para>
67-
<simpara>
68-
如果 <parameter>num2</parameter> 为 <literal>0</literal>,此函数会抛出 <exceptionname>DivisionByZeroError</exceptionname> 异常。
69-
</simpara>
70-
</refsect1>
36+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.bcdiv')/db:refsect1[@role='errors'])" />
7137

7238
<refsect1 role="changelog"><!-- {{{ -->
7339
&reftitle.changelog;
@@ -89,7 +55,7 @@
8955
<row>
9056
<entry>8.0.0</entry>
9157
<entry>
92-
现在,除以 0 会引发 <exceptionname>DivisionByZeroError</exceptionname> 异常,而不是返回 &null;
58+
现在,除以 <literal>0</literal> 会引发 <exceptionname>DivisionByZeroError</exceptionname> 异常,而不是返回 &null;
9359
</entry>
9460
</row>
9561
<row>

reference/bc/functions/bcmul.xml

Lines changed: 12 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 23f5599c8cc2713e7a4fdc29d8cceab66c341c48 Maintainer: jakquan Status: ready -->
4-
<!-- Reviewed: no -->
5-
6-
<refentry xml:id="function.bcmul" xmlns="http://docbook.org/ns/docbook">
3+
<!-- EN-Revision: ddb05f8827151e25dd1c3e058f95f6c024bc881b Maintainer: jakquan Status: ready -->
4+
<!-- CREDITS: mowangjuanzi -->
5+
<refentry xml:id="function.bcmul" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
76
<refnamediv>
87
<refname>bcmul</refname>
98
<refpurpose>两个任意精度数字乘法计算</refpurpose>
@@ -17,34 +16,13 @@
1716
<methodparam><type>string</type><parameter>num2</parameter></methodparam>
1817
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
1918
</methodsynopsis>
20-
<para>
19+
<simpara>
2120
<parameter>num1</parameter> 乘以 <parameter>num2</parameter>。
22-
</para>
21+
</simpara>
2322
</refsect1>
2423

2524
<refsect1 role="parameters">
26-
&reftitle.parameters;
27-
<para>
28-
<variablelist>
29-
<varlistentry>
30-
<term><parameter>num1</parameter></term>
31-
<listitem>
32-
<para>
33-
字符串类型的左操作数。
34-
</para>
35-
</listitem>
36-
</varlistentry>
37-
<varlistentry>
38-
<term><parameter>num2</parameter></term>
39-
<listitem>
40-
<para>
41-
字符串类型的右操作数。
42-
</para>
43-
</listitem>
44-
</varlistentry>
45-
&bc.scale.description;
46-
</variablelist>
47-
</para>
25+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.bcadd')/db:refsect1[@role='parameters']/*)" />
4826
</refsect1>
4927

5028
<refsect1 role="returnvalues">
@@ -54,6 +32,8 @@
5432
</para>
5533
</refsect1>
5634

35+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.bcadd')/db:refsect1[@role='errors'])" />
36+
5737
<refsect1 role="changelog"><!-- {{{ -->
5838
&reftitle.changelog;
5939
<informaltable>
@@ -102,16 +82,14 @@ echo bcmul('2', '4'); // 8
10282
&reftitle.notes;
10383
<note>
10484
<para>
105-
Before PHP 7.3.0 <function>bcmul</function> may return a result with fewer digits after the
106-
decimal point than the <parameter>scale</parameter> parameter would
107-
indicate. This only occurs when the result doesn't require all of the
108-
precision allowed by the <parameter>scale</parameter>. For example:
85+
PHP 7.3.0 之前,<function>bcmul</function> 返回的结果中小数位数可能比 <parameter>scale</parameter>
86+
参数指定的少。只有当结果不需要 <parameter>scale</parameter> 允许的所有精度时,才会发生这种情况。例如:
10987
<example>
110-
<title><function>bcmul</function> scale example</title>
88+
<title><function>bcmul</function> 进位制示例</title>
11189
<programlisting role="php">
11290
<![CDATA[
11391
<?php
114-
echo bcmul('5', '2', 2); // prints "10", not "10.00"
92+
echo bcmul('5', '2', 2); // 打印“10”而不是“10.00
11593
?>
11694
]]>
11795
</programlisting>
@@ -129,7 +107,6 @@ echo bcmul('5', '2', 2); // prints "10", not "10.00"
129107
</para>
130108
</refsect1>
131109
</refentry>
132-
133110
<!-- Keep this comment at the end of the file
134111
Local variables:
135112
mode: sgml

reference/bc/functions/bcpow.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: e333514f66ae32a3468e05dbe64f55f01ff9451e Maintainer: jakquan Status: ready -->
3+
<!-- EN-Revision: ddb05f8827151e25dd1c3e058f95f6c024bc881b Maintainer: jakquan Status: ready -->
44
<!-- CREDITS: mowangjuanzi -->
55
<refentry xml:id="function.bcpow" xmlns="http://docbook.org/ns/docbook">
66
<refnamediv>
@@ -60,8 +60,8 @@
6060
函数在下列情况会抛出 <exceptionname>ValueError</exceptionname>:
6161
<simplelist>
6262
<member><parameter>num</parameter> 或 <parameter>exponent</parameter> 不是格式正确的 BCMath 数字字符串</member>
63-
<member><parameter>scale</parameter> 超出有效范围</member>
6463
<member><parameter>exponent</parameter> 有小数部分</member>
64+
<member><parameter>exponent</parameter> 或 <parameter>scale</parameter> 超出有效范围</member>
6565
</simplelist>
6666
</para>
6767
<simpara>
@@ -84,7 +84,7 @@
8484
<row>
8585
<entry>8.4.0</entry>
8686
<entry>
87-
0 的负幂以前返回 0,但现在会引发 <exceptionname>DivisionByZeroError</exceptionname> 异常。
87+
<literal>0</literal> 的负幂以前返回 0,但现在会引发 <exceptionname>DivisionByZeroError</exceptionname> 异常。
8888
</entry>
8989
</row>
9090
<row>

reference/bc/functions/bcscale.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 23f5599c8cc2713e7a4fdc29d8cceab66c341c48 Maintainer: jakquan Status: ready -->
4-
<!-- Reviewed: no -->
5-
3+
<!-- EN-Revision: ddb05f8827151e25dd1c3e058f95f6c024bc881b Maintainer: jakquan Status: ready -->
4+
<!-- CREDITS: mowangjuanzi -->
65
<refentry xml:id="function.bcscale" xmlns="http://docbook.org/ns/docbook">
76
<refnamediv>
87
<refname>bcscale</refname>
@@ -50,6 +49,13 @@
5049
</para>
5150
</refsect1>
5251

52+
<refsect1 role="errors">
53+
&reftitle.errors;
54+
<simpara>
55+
如果 <parameter>scale</parameter> 超出有效范围,函数抛出 <exceptionname>ValueError</exceptionname>。
56+
</simpara>
57+
</refsect1>
58+
5359
<refsect1 role="changelog">
5460
&reftitle.changelog;
5561
<informaltable>

0 commit comments

Comments
 (0)