-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathstrtr.xml
More file actions
204 lines (197 loc) · 6.27 KB
/
strtr.xml
File metadata and controls
204 lines (197 loc) · 6.27 KB
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 2a7c919451f9a536431ba2117f8f90ae814c1c5f Maintainer: nilgun Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.strtr" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>strtr</refname>
<refpurpose>Belli karakterleri veya alt dizgeleri değiştirir</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>strtr</methodname>
<methodparam><type>string</type><parameter>dizge</parameter></methodparam>
<methodparam><type>string</type><parameter>eski</parameter></methodparam>
<methodparam><type>string</type><parameter>yeni</parameter></methodparam>
</methodsynopsis>
<simpara>Alt dizgelerle çalışan sözdizimi:</simpara>
<methodsynopsis>
<type>string</type><methodname>strtr</methodname>
<methodparam><type>string</type><parameter>dizge</parameter></methodparam>
<methodparam><type>array</type><parameter>eski_yeni</parameter></methodparam>
</methodsynopsis>
<para>
Üç bağımsız değişken verilirse, bu işlev, <parameter>dizge</parameter> içinde
rastladığı <parameter>eski</parameter> dizgesindeki her bir (tek baytlık)
karakteri, <parameter>yeni</parameter> dizgesindeki karşılık gelen karakterle
değiştirerek elde edilen dizgeyi döndürür. Yani, <parameter>eski</parameter>
ve <parameter>yeni</parameter> dizgelerinde <literal>$n</literal> belli bir
konumu gösterdiğinde <parameter>dizge</parameter> içinde rastlanılan her
<literal>$eski[$n]</literal> yerine <literal>$yeni[$n]</literal> konarak elde
edilen dizge döndürülür.
</para>
<para>
Eğer <parameter>eski</parameter> ve <parameter>yeni</parameter> dizgeleri
farklı uzunluktaysa dizgelerden uzun olanının fazla baytları yok sayılır.
Dönüş değerinin uzunluğu ile <parameter>dizge</parameter> uzunluğu aynı
olacaktır.
</para>
<para>
İki bağımsız değişken verilirse, ikincisi
<literal>array('eski' => 'yeni', ...)</literal> biçeminde bir dizi
olmalıdır. Dönüş değeri, dizi anahtarlarının karşılık gelen değerlerle
değiştirildiği bir dizgedir. İlk olarak en uzun anahtarlar denenir.
Bir kere değiştirilen metin bir daha değerlendirilmez.
</para>
<para>
Bu durumda, boş anahtar olmaması koşuluyla anahtarlar ve değerler herhangi
bir uzunlukta olabilir; ek olarak, dönüş değerinin uzunluğu dizgeden farklı
olabilir. Bununla birlikte, işlev için en verimli durum tüm anahtarların
aynı boyutta olduğu durumdur.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>dizge</parameter></term>
<listitem>
<para>
Karakterleri dönüştürülecek dizge.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>eski</parameter></term>
<listitem>
<para>
Yerine yenisi konacak baytlar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>yeni</parameter></term>
<listitem>
<para>
Eskisinin yerine konacak baytlar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>eski_yeni</parameter></term>
<listitem>
<para>
<literal>array('eski' => 'yeni', ...)</literal> biçeminde alt dizge
çiftlerinden oluşan bir dizi.
</para>
<para>
<parameter>eski_yeni</parameter> dizisi anahtarı boş dizge
(<literal>""</literal>) olan bir çift içeriyorsa, bu çift yoksayılır.
PHP 8.0.0 ve sonrasında böyle bir durumda bir
<constant>E_WARNING</constant> çıktılanır.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Dönüştürülen dizgeyle döner.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>- <function>strtr</function> örneği</title>
<programlisting role="php">
<![CDATA[
<?php
// Burada, strtr() bayt bayt dönüşüm yapar
// Dolayısıyla burada tek baytlı kodlama (ISO-8859-*) kullanıldığı varsayılıyor
$addr = strtr($addr, "äåö", "aao");
?>
]]>
</programlisting>
</example>
</para>
<para>
Aşağıdaki örnekte <function>strtr</function> işlevi iki bağımsız değişken ile
çağrılmaktadır. Değiştirme tercihlerine dikkat: <literal>"h"</literal>
daha uzun bir eşleşmenin parçası olduğundan ve bir kere değişen metin
tekrar değerlendirilmediğinden işlem görmemiştir.
</para>
<example>
<title>- İki bağımsız değişkenli <function>strtr</function> örneği</title>
<programlisting role="php">
<![CDATA[
<?php
$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
hello all, I said hi
]]>
</screen>
</example>
<para>
Aşağıdaki iki davranış biçimi büyük ölçüde farklıdır.
Üç bağımsız değişkenli <function>strtr</function> baytları değiştirirken,
ikili olanı alt dizgeleri değiştiriyor.
</para>
<example>
<title>- <function>strtr</function> davranış karşılaştırması</title>
<programlisting role="php">
<![CDATA[
<?php
echo strtr("baab", "ab", "01"),"\n";
$trans = array("ab" => "01");
echo strtr("baab", $trans);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
1001
ba01
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>str_replace</function></member>
<member><function>preg_replace</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->