Skip to content

Commit 86a4f2b

Browse files
doc-en と同期し control-structures のコード例を実行可能な形式に更新(16ファイル) (php#416)
原文の php/doc-en#5462 に追随し、language/control-structures 配下の 16 ファイルを同期しました。 ### コード例の実行可能化(16件) — php/doc-en@b8147b7 - 複数の例を `informalexample` 単位に分割し、`&example.outputs;` + `<screen>` の出力ブロックを追加 - 例中で未定義だった変数の初期化を補い、末尾の `?>` を除去 - 実行対象外の例に `annotations="non-interactive"`、`language/control-structures.xml` の `<chapter>` に `annotations="interactive"` を付与 `<screen>` の内容は、各ファイルの訳文コードが実際に出力する内容に合わせています。コード中の文字列が訳出済みの箇所は日本語、PHP 本体が出力するメッセージは原文のままです。 対象: control-structures.xml, alternative-syntax.xml, break.xml, continue.xml, declare.xml, do-while.xml, else.xml, elseif.xml, for.xml, foreach.xml, goto.xml, if.xml, include.xml, match.xml, switch.xml, while.xml ### 原文側の内容変更の反映(3件) - switch.xml — case のセミコロン構文が PHP 8.5.0 で非推奨になった旨の記述を追加(php/doc-en@b8147b7) - continue.xml — `continue` 後のセミコロン省略に関する段落が原文で削除されたため、対応する訳文を削除(php/doc-en@b8147b7) - else.xml — 原文の綴りの誤りの修正に追随(php/doc-en@690c3ea)。訳文への影響はありません
1 parent 7c21781 commit 86a4f2b

16 files changed

Lines changed: 510 additions & 194 deletions

language/control-structures.xml

Lines changed: 2 additions & 2 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: ede9d209f64d4cd71bf22fcfaed14c6fc269523c Maintainer: hirokawa Status: ready -->
3+
<!-- EN-Revision: b8147b7f03506e41f01631c32a907b955593525a Maintainer: hirokawa Status: ready -->
44
<!-- CREDITS: takagi,shimooka,mumumu -->
5-
<chapter xml:id="language.control-structures" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
5+
<chapter xml:id="language.control-structures" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="interactive">
66
<title>制御構造</title>
77

88
<sect1 xml:id="control-structures.intro">

language/control-structures/alternative-syntax.xml

Lines changed: 37 additions & 7 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: 22583751fbfdaa3eaa41aeb6470d1343f5cb2c78 Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: b8147b7f03506e41f01631c32a907b955593525a Maintainer: takagi Status: ready -->
44

55
<sect1 xml:id="control-structures.alternative-syntax" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
66
<title>制御構造に関する別の構文</title>
@@ -18,11 +18,19 @@
1818
<informalexample>
1919
<programlisting role="php">
2020
<![CDATA[
21-
<?php if ($a == 5): ?>
21+
<?php
22+
$a = 5;
23+
if ($a == 5): ?>
2224
Aは5に等しい
2325
<?php endif; ?>
2426
]]>
2527
</programlisting>
28+
&example.outputs;
29+
<screen>
30+
<![CDATA[
31+
Aは5に等しい
32+
]]>
33+
</screen>
2634
</informalexample>
2735
</para>
2836
<simpara>
@@ -39,6 +47,7 @@ Aは5に等しい
3947
<programlisting role="php">
4048
<![CDATA[
4149
<?php
50+
$a = 5;
4251
if ($a == 5):
4352
echo "aは5に等しい";
4453
echo "...";
@@ -48,9 +57,14 @@ elseif ($a == 6):
4857
else:
4958
echo "aは5でも6でもない";
5059
endif;
51-
?>
5260
]]>
5361
</programlisting>
62+
&example.outputs;
63+
<screen>
64+
<![CDATA[
65+
aは5に等しい...
66+
]]>
67+
</screen>
5468
</informalexample>
5569
</para>
5670
<note>
@@ -67,12 +81,20 @@ endif;
6781
<informalexample>
6882
<programlisting role="php">
6983
<![CDATA[
70-
<?php switch ($foo): ?>
84+
<?php
85+
$foo = 1;
86+
switch ($foo): ?>
7187
<?php case 1: ?>
72-
// ...
88+
Fooは1
7389
<?php endswitch; ?>
7490
]]>
7591
</programlisting>
92+
&example.outputs;
93+
<screen>
94+
<![CDATA[
95+
Parse error: syntax error, unexpected T_INLINE_HTML " ", expecting "endswitch" or "case" or "default" in script on line 4
96+
]]>
97+
</screen>
7698
</informalexample>
7799
<para>
78100
一方、以下のコードは有効です。というのも、
@@ -84,12 +106,20 @@ endif;
84106
<informalexample>
85107
<programlisting role="php">
86108
<![CDATA[
87-
<?php switch ($foo): ?>
109+
<?php
110+
$foo = 1;
111+
switch ($foo): ?>
88112
<?php case 1: ?>
89-
...
113+
Fooは1
90114
<?php endswitch; ?>
91115
]]>
92116
</programlisting>
117+
&example.outputs;
118+
<screen>
119+
<![CDATA[
120+
Fooは1
121+
]]>
122+
</screen>
93123
</informalexample>
94124
</warning>
95125
<para>

language/control-structures/break.xml

Lines changed: 42 additions & 8 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: 7104ee97ced1768a3231588dfc0bc0d7eb1117ad Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: b8147b7f03506e41f01631c32a907b955593525a Maintainer: takagi Status: ready -->
44
<!-- CREDITS: mumumu -->
55

66
<sect1 xml:id="control-structures.break" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -27,27 +27,61 @@ foreach ($arr as $val) {
2727
if ($val == 'stop') {
2828
break; /* ここでは、'break 1;'と書くこともできます */
2929
}
30-
echo "$val<br />\n";
30+
echo "$val\n";
3131
}
32-
33-
/* オプション引数を使用します */
34-
32+
]]>
33+
</programlisting>
34+
&example.outputs;
35+
<screen>
36+
<![CDATA[
37+
one
38+
two
39+
three
40+
four
41+
]]>
42+
</screen>
43+
</informalexample>
44+
</para>
45+
<simpara>
46+
オプションの引数を使う例:
47+
</simpara>
48+
<para>
49+
<informalexample>
50+
<programlisting role="php">
51+
<![CDATA[
52+
<?php
3553
$i = 0;
3654
while (++$i) {
3755
switch ($i) {
3856
case 5:
39-
echo "At 5<br />\n";
57+
echo "At 5\n";
4058
break 1; /* switch 構造のみを抜けます */
4159
case 10:
42-
echo "At 10; quitting<br />\n";
60+
echo "At 10; quitting\n";
4361
break 2; /* switch と while を抜けます */
4462
default:
4563
break;
4664
}
65+
echo "$i\n";
4766
}
48-
?>
4967
]]>
5068
</programlisting>
69+
&example.outputs;
70+
<screen>
71+
<![CDATA[
72+
1
73+
2
74+
3
75+
4
76+
At 5
77+
5
78+
6
79+
7
80+
8
81+
9
82+
At 10; quitting
83+
]]>
84+
</screen>
5185
</informalexample>
5286
</para>
5387

language/control-structures/continue.xml

Lines changed: 1 addition & 33 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: 16389a7b31069481d6c8c0705172bee5ef1ddf5f Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: b8147b7f03506e41f01631c32a907b955593525a Maintainer: takagi Status: ready -->
44
<!-- Credits: mumumu -->
55

66
<sect1 xml:id="control-structures.continue" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -40,7 +40,6 @@ foreach ($arr as $key => $value) {
4040
}
4141
echo $value . "\n";
4242
}
43-
?>
4443
]]>
4544
</programlisting>
4645
&examples.outputs;
@@ -67,7 +66,6 @@ while ($i++ < 5) {
6766
}
6867
echo "Neither does this.\n";
6968
}
70-
?>
7169
]]>
7270
</programlisting>
7371
&examples.outputs;
@@ -92,36 +90,6 @@ Inner
9290
</screen>
9391
</informalexample>
9492
</para>
95-
<para>
96-
<literal>continue</literal> の後のセミコロンを省略すると混乱を生じることがあります。
97-
以下の例のようなことをしてはいけません。
98-
</para>
99-
<para>
100-
<informalexample>
101-
<programlisting role="php">
102-
<![CDATA[
103-
<?php
104-
for ($i = 0; $i < 5; ++$i) {
105-
if ($i == 2)
106-
continue
107-
print "$i\n";
108-
}
109-
?>
110-
]]>
111-
</programlisting>
112-
<para>
113-
これは、以下のような結果になることを期待していたのでしょう。
114-
</para>
115-
<screen>
116-
<![CDATA[
117-
0
118-
1
119-
3
120-
4
121-
]]>
122-
</screen>
123-
</informalexample>
124-
</para>
12593
<para>
12694
<table>
12795
<title><literal>continue</literal> の変更履歴</title>

language/control-structures/declare.xml

Lines changed: 15 additions & 10 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: 5499acf9df7e1338d540bde207acc859792cd139 Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: b8147b7f03506e41f01631c32a907b955593525a Maintainer: takagi Status: ready -->
44
<!-- Credits: mumumu -->
55

66
<sect1 xml:id="control-structures.declare" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -36,7 +36,7 @@ declare (ディレクティブ)
3636
ディレクティブの値として渡せるのは、リテラルだけとなります。
3737
変数や定数は、使えません。以下に例を示します。
3838
<informalexample>
39-
<programlisting role="php">
39+
<programlisting role="php" annotations="non-interactive">
4040
<![CDATA[
4141
<?php
4242
// これは有効です
@@ -45,7 +45,6 @@ declare(ticks=1);
4545
// これは無効です
4646
const TICK_VALUE = 1;
4747
declare(ticks=TICK_VALUE);
48-
?>
4948
]]>
5049
</programlisting>
5150
</informalexample>
@@ -61,7 +60,7 @@ declare(ticks=TICK_VALUE);
6160
(しかし、<literal>declare</literal> を含むファイルがインクルードされた場合は、
6261
親ファイルにはその影響は及びません)。
6362
<informalexample>
64-
<programlisting role="php">
63+
<programlisting role="php" annotations="non-interactive">
6564
<![CDATA[
6665
<?php
6766
// 以下は同じ意味です
@@ -74,7 +73,6 @@ declare(ticks=1) {
7473
// こうすることもできます
7574
declare(ticks=1);
7675
// ここにすべてのスクリプトを書きます
77-
?>
7876
]]>
7977
</programlisting>
8078
</informalexample>
@@ -119,12 +117,20 @@ $a = 1; // tick イベント発生
119117
120118
if ($a > 0) {
121119
$a += 2; // tick イベント発生
122-
print $a; // tick イベント発生
120+
print $a . "\n"; // tick イベント発生
123121
}
124-
125-
?>
126122
]]>
127123
</programlisting>
124+
&example.outputs;
125+
<screen>
126+
<![CDATA[
127+
tick_handler() called
128+
tick_handler() called
129+
tick_handler() called
130+
3
131+
tick_handler() called
132+
]]>
133+
</screen>
128134
</example>
129135
</para>
130136
<simpara>
@@ -139,12 +145,11 @@ if ($a > 0) {
139145
<literal>encoding</literal> ディレクティブを使用します。
140146
<example>
141147
<title>スクリプトのエンコーディングの宣言</title>
142-
<programlisting role="php">
148+
<programlisting role="php" annotations="non-interactive">
143149
<![CDATA[
144150
<?php
145151
declare(encoding='ISO-8859-1');
146152
// ここにコードを書きます
147-
?>
148153
]]>
149154
</programlisting>
150155
</example>

language/control-structures/do-while.xml

Lines changed: 19 additions & 5 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: 53fb200fed6d316b0616a915eb87a40de1d80f51 Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: b8147b7f03506e41f01631c32a907b955593525a Maintainer: takagi Status: ready -->
44
<!-- Credits: mumumu -->
55

66
<sect1 xml:id="control-structures.do.while" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
@@ -27,9 +27,14 @@ $i = 0;
2727
do {
2828
echo $i;
2929
} while ($i > 0);
30-
?>
3130
]]>
3231
</programlisting>
32+
&example.outputs;
33+
<screen>
34+
<![CDATA[
35+
0
36+
]]>
37+
</screen>
3338
</informalexample>
3439
</para>
3540
<simpara>
@@ -48,23 +53,32 @@ do {
4853
<programlisting role="php">
4954
<![CDATA[
5055
<?php
56+
$i = 50;
57+
$factor = 0.5;
58+
$minimum_limit = 20;
5159
do {
5260
if ($i < 5) {
53-
echo "i は十分大きくはありません。";
61+
echo "i は十分大きくはありません。\n";
5462
break;
5563
}
5664
$i *= $factor;
5765
if ($i < $minimum_limit) {
66+
echo "factor をかけた後、i は最小の制限値より小さいです。\n";
5867
break;
5968
}
60-
echo "iはOKです。";
69+
echo $i ."はOKです。\n";
6170
6271
/* i を処理します */
6372
6473
} while (0);
65-
?>
6674
]]>
6775
</programlisting>
76+
&example.outputs;
77+
<screen>
78+
<![CDATA[
79+
25はOKです。
80+
]]>
81+
</screen>
6882
</informalexample>
6983
</para>
7084
<simpara>

0 commit comments

Comments
 (0)