Skip to content

Commit

Permalink
Update language
Browse files Browse the repository at this point in the history
  • Loading branch information
mowangjuanzi committed Oct 17, 2023
1 parent 3d51fcb commit d38cfbb
Show file tree
Hide file tree
Showing 13 changed files with 2,692 additions and 2,667 deletions.
2,702 changes: 35 additions & 2,667 deletions language/operators.xml

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions language/operators/arithmetic.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 52407313885d27a4e891e08dd2e2481bcc39e244 Maintainer: mowangjuanzi Status: ready -->
<sect1 xml:id="language.operators.arithmetic">
<title>算术运算符</title>
<simpara>
还记得学校里学到的基本数学知识吗?就和它们一样。
</simpara>
<table>
<title>算术运算符</title>
<tgroup cols="3">
<thead>
<row>
<entry>例子</entry>
<entry>名称</entry>
<entry>结果</entry>
</row>
</thead>
<tbody>
<row>
<entry>+$a</entry>
<entry>标识</entry>
<entry>
根据情况将 <varname>$a</varname> 转化为 <type>int</type> 或
<type>float</type>。
</entry>
</row>
<row>
<entry>-$a</entry>
<entry>取反</entry>
<entry><varname>$a</varname> 的负值。</entry>
</row>
<row>
<entry>$a + $b</entry>
<entry>加法</entry>
<entry><varname>$a</varname> 和 <varname>$b</varname> 的和。</entry>
</row>
<row>
<entry>$a - $b</entry>
<entry>减法</entry>
<entry><varname>$a</varname> 和 <varname>$b</varname> 的差。</entry>
</row>
<row>
<entry>$a * $b</entry>
<entry>乘法</entry>
<entry><varname>$a</varname> 和 <varname>$b</varname> 的积。</entry>
</row>
<row>
<entry>$a / $b</entry>
<entry>除法</entry>
<entry><varname>$a</varname> 除以 <varname>$b</varname> 的商。</entry>
</row>
<row>
<entry>$a % $b</entry>
<entry>取模</entry>
<entry><varname>$a</varname> 除以 <varname>$b</varname> 的余数。</entry>
</row>
<row>
<entry>$a ** $b</entry>
<entry>求幂</entry>
<entry> <varname>$a</varname> 的 <varname>$b</varname>次方的值。</entry>
</row>
</tbody>
</tgroup>
</table>
<simpara>
除法运算符总是返回浮点数。只有在下列情况例外:两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。
整数除法可参考 <function>intdiv</function>。
</simpara>
<simpara>
取模运算符的操作数在运算之前都会转换成 <type>int</type> 。 浮点数取模可参考
<function>fmod</function>。
</simpara>
<para>
取模运算符 <literal>%</literal> 的结果和被除数的符号(正负号)相同。即
<literal>$a % $b</literal> 的结果和 <varname>$a</varname> 的符号相同。例如:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo (5 % 3)."\n"; // 打印 2
echo (5 % -3)."\n"; // 打印 2
echo (-5 % 3)."\n"; // 打印 -2
echo (-5 % -3)."\n"; // 打印 -2
?>
]]>
</programlisting>
</informalexample>
</para>
<sect2 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="ref.math">数学函数</link></member>
</simplelist>
</para>
</sect2>

</sect1>
137 changes: 137 additions & 0 deletions language/operators/array.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 52407313885d27a4e891e08dd2e2481bcc39e244 Maintainer: mowangjuanzi Status: ready -->
<sect1 xml:id="language.operators.array">
<title>数组运算符</title>
<table>
<title>数组运算符</title>
<tgroup cols="3">
<thead>
<row>
<entry>例子</entry>
<entry>名称</entry>
<entry>结果</entry>
</row>
</thead>
<tbody>
<row>
<entry>$a + $b</entry>
<entry>联合</entry>
<entry><varname>$a</varname> 和 <varname>$b</varname> 的联合。</entry>
</row>
<row>
<entry>$a == $b</entry>
<entry>相等</entry>
<entry>如果 <varname>$a</varname> 和 <varname>$b</varname> 具有相同的键/值对则为 &true;。</entry>
</row>
<row>
<entry>$a === $b</entry>
<entry>全等</entry>
<entry>如果 <varname>$a</varname> 和 <varname>$b</varname> 具有相同的键/值对并且顺序和类型都相同则为 &true;。</entry>
</row>
<row>
<entry>$a != $b</entry>
<entry>不等</entry>
<entry>如果 <varname>$a</varname> 不等于 <varname>$b</varname> 则为 &true;。</entry>
</row>
<row>
<entry>$a &lt;&gt; $b</entry>
<entry>不等</entry>
<entry>如果 <varname>$a</varname> 不等于 <varname>$b</varname> 则为 &true;。</entry>
</row>
<row>
<entry>$a !== $b</entry>
<entry>不全等</entry>
<entry>如果 <varname>$a</varname> 不全等于 <varname>$b</varname> 则为 &true;。</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
<literal>+</literal> 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
</para>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b; // $a 和 $b 的并集
echo "Union of \$a and \$b: \n";
var_dump($c);
$c = $b + $a; // $b 和 $a 的并集
echo "Union of \$b and \$a: \n";
var_dump($c);
$a += $b; // $a += $b 的并集是 $a 和 $b
echo "Union of \$a += \$b: \n";
var_dump($a);
?>
]]>
</programlisting>
</informalexample>
执行后,此脚本会显示:
<screen role="php">
<![CDATA[
Union of $a and $b:
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
Union of $b and $a:
array(3) {
["a"]=>
string(4) "pear"
["b"]=>
string(10) "strawberry"
["c"]=>
string(6) "cherry"
}
Union of $a += $b:
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
]]>
</screen>
</para>
<para>
数组中的单元如果具有相同的键名和值则比较时相等。
</para>
<para>
<example>
<title>比较数组</title>
<programlisting role="php">
<![CDATA[
<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
]]>
</programlisting>
</example>
</para>

<sect2 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="language.types.array">数组类型</link></member>
<member><link linkend="ref.array">数组函数</link></member>
</simplelist>
</para>
</sect2>
</sect1>
Loading

0 comments on commit d38cfbb

Please sign in to comment.