-
Notifications
You must be signed in to change notification settings - Fork 24
/
elseif.xml
110 lines (105 loc) · 3.62 KB
/
elseif.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: bbaf4fea6946bf6d0b67573d5f2f96c5a2c5d678 Maintainer: nilgun Status: ready -->
<sect1 xml:id="control-structures.elseif" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>elseif/else if</title>
<?phpdoc print-version-for="elseif"?>
<para>
<literal>elseif</literal>, isminden de anlaşılacağı gibi,
<literal>if</literal> ve <literal>else</literal> deyimlerinin biraraya
gelmesiyle oluşur. <literal>else</literal> gibi, orijinal
<literal>if</literal> ifadesinin &false; döndürdüğü durumda farklı bir
deyimin çalıştırılması için kullanılır. Ancak,
<literal>else</literal>'ten farklı olarak, ilgili deyimi sadece
kendisine ait koşullu ifade &true; değerini döndürdüğü takdirde
çalıştıracaktır. Örneğin, aşağıdaki kod <computeroutput>a büyüktür
b</computeroutput>, <computeroutput>a eşittir b</computeroutput> ya da
<computeroutput>a küçüktür b</computeroutput> iletisini
görüntüleyecektir:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
if ($a > $b) {
echo "a büyüktür b";
} elseif ($a == $b) {
echo "a eşittir b";
} else {
echo "a küçüktür b";
}
?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Aynı <literal>if</literal> deyimine ait birden çok
<literal>elseif</literal> bulunabilir. İlk önce hangi
<literal>elseif</literal> deyimi &true; değerini döndürürse (eğer
döndüren varsa) o deyim çalıştırılır. Bu deyim 'elseif' biçiminde tek
sözcük olarak kullanılabileceği gibi, 'else if' biçiminde iki sözcük
olarak da kullanılabilir, sonuç aynı olacaktır. Sözdiziminin
anlamlandırılması açısından küçük bir farklılık olsa da (C dilinde de
böyledir) sonuç olarak her ikisi de aynı sonucu üretecektir.
</simpara>
<simpara>
<literal>elseif</literal> ifadesi yalnızca kendisinden önceki
<literal>if</literal> ifadesi ve bu ifadeye bağlı kendisinden önce gelen
diğer tüm <literal>elseif</literal> ifadeleri &false; ile
sonuçlandığında çalıştırılır ve &true; olarak değerlendirilir.
</simpara>
<note>
<simpara>
<literal>elseif</literal> (tek sözcük) ve
<literal>else if</literal> (iki sözcük), yukarıdaki
örnekten anlaşılacağı üzere sadece kaşlı ayraçlar kullanıldığı zaman
tamamen aynı şekilde ele alınır.
<literal>if</literal> ve <literal>elseif</literal> için iki noktalı
sözdizimi kullanıldığında <literal>elseif</literal> iki sözcüğe
ayrılmamalıdır, yoksa PHP bir çözümleme hatası vererek başarısız olur.
</simpara>
</note>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
/* Yanlış Yöntem: */
if ($a > $b):
echo $a." büyüktür ".$b;
else if ($a == $b): // Bu derlenmez.
echo "Üstteki satır bir çözümleme hatasına yol açar.";
endif;
/* Doğru Yöntem: */
if ($a > $b):
echo $a." büyüktür ".$b;
elseif ($a == $b): // Sözcüklerin birleşik oluşuna dikkat!
echo $a." eşittir ".$b;
else:
echo $a." ne büyük ne de eşittir ".$b;
endif;
?>
]]>
</programlisting>
</informalexample>
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->