tpug Thu Dec 13 11:22:04 2001 EDT
Added files:
/phpdoc/tr/language expressions.xml
Log:
complete translation by Alper
Index: phpdoc/tr/language/expressions.xml
+++ phpdoc/tr/language/expressions.xml
<?xml version="1.0" encoding="iso-8859-9"?>
<!-- $Revision: 1.1 $ -->
<chapter id="language.expressions">
<title>İfadeler</title>
<simpara>
İfadeler PHP'nin en �nemli yapı taşıdır. PHP'de
yazdığınız herşey bir
ifadedir. İfadelerin en yalın fakat en doğru
anlatımı, "değeri olan
her şey"dir.
</simpara>
<simpara>
İfadelerin en temel şekilleri sabitler ve
değişkenlerdir. "$a = 5"
yazdığınızda, '5'i $a'ya atarsınız. '5',
kolaylıkla g�r�ld�ğ� �zere değer
olarak 5'tir, başka deyişle '5' değeri 5 olan bir ifadedir
(bu durumda,
'5' tam sayı sabittir).
</simpara>
<simpara>
Bu atamadan sonra, $a'nın değerinin de 5 olmasını
beklersiniz, yani $b =
$a yazarsanız, bunun sanki $b = 5 yazmışsınız
gibi �alışmasını beklersiniz.
Başka deyişle, $a da değeri 5 olan bir ifadedir.
Herşey yolunda giderse,
bu kesin hatlarıyla oluşacak durumdur.
</simpara>
<para>
İfadelerin biraz daha karmaşık �rnekleri
fonksiyonlardır. �rneğin, şu
fonksiyonları ele alalım:
<informalexample>
<programlisting role="php">
<![CDATA[
function foo ()
{
return 5;
}
]]>
</programlisting>
</informalexample></para>
<simpara>
Fonksiyon kavramına aşina olduğunuzu varsayarsak (eğer
değilseniz
fonksiyonlarla ilgili b�l�me bakınız), <literal>$c = foo()</literal>
yazdığınızda <literal>$c = 5</literal>
yazmışsınız gibi olmasını
beklersiniz, ve haklısınız. Fonksiyonlar geri d�n�ş
değerleri değerindeki
ifadelerdir. foo() 5 d�nd�rd�ğ�, 'foo()' ifadesinin değeri 5'tir.
Genellikle fonksiyonlar b�yle durağan değerler d�nd�rmek yerine bir
şeyleri
hesaplarlar.
</simpara>
<simpara>
<!-- dirge: floating point => kayan noktalı -->
<!-- dirge: composite => bileşik -->
Doğal olarak, PHP'deki değerler tam sayı olmak zorunda
değildir, ve �oğu zaman
değillerdir. PHP 3 �eşitli sayıl değerleri destekler:
tam sayı değerler, kayan
noktalı sayılar, dizgiler (sayıl değerler daha k���k
par�alara
'ayrıştıramayacağınız'
değerlerdir, �rneğin dizileri ayrıştırabilirsiniz).
PHP ayrica iki �eşit bileşik (sayıl olmayan) değer
destekler: diziler ve
nesneler. Bu değer �eşitlerinin her biri değişkenlere
atanabilir ya da
fonksiyonlarca d�nd�r�lebilir.
</simpara>
<simpara>
Buraya kadar, PHP/FI 2 kullanıcıları bir
değişiklik hissetmemiş olmalı.
Halbuki, PHP ifadeleri �ok daha ilerilere taşır, başka bir
�ok programa
dilinin yaptğı gibi. PHP ifadelere dayalı bir dildir,
herşeyin bir ifade
olduğu fikri etrafına kurulmuştur. Daha �nce g�z
attığımız �rneği ele
alalım, '$a = 5'. Burada iki değerin yer
aldığını g�rmek kolay, tam sayı
sabit olan '5'in değeri ve 5' olarak değiştirilen
$a'nın değeri. Ama
ger�ek şu ki burada yer alan bir değer daha var, bu da atama
işleminin
kendi değeri. Atamanın kendisi atanan değeri alır,
burada 5. Ger�ek
hayatta, ne yaptığı �nemli olmadan, '$a = 5', 5
değerindeki bir ifadedir.
Bu sebepten, '$b = ($a = 5)' yazmakla '$a = 5; $b = 5;' yazmak
aynıdır
(noktalı virg�ller ifade sonunu belirtir). Atamalar sağdan sola
ger�ekleştiğinden, isterseniz '$b = $a = 5' de yazabilirsiniz.
</simpara>
<simpara>
<!-- dirge: pre-increment => �n-artırım -->
<!-- dirge: post-increment => son-artırım -->
İfadeye dayalı olmanın başka iyi bir �rneği de
�n- ve son-artırım ve
azaltımdır. PHP/FI 2'nin ve başka pek �ok dilin
kullanıcıları değişken++
ve değişken-- yazımına aşina olacaktır.
Bunlar artırım ve azaltım
işlemleridir. PHP/FI 2'de, '$a++' bildiriminin hi� bir değeri yoktu
(ifade
değildi), bu sebepten bunu atayamazdınız veya başka
şekilde
kullanamazdınız. PHP bunları, C'deki gibi, ifadelere �evirerek
artırım/azaltım kabiliyetlerini geliştirdi. PHP'de,
C'de olduğu gibi, iki
�eşit artırım vardır - �n-artırım ve
son-artırım. Hem �n-artırım hem
son-artırımın değişken değerini
artırması kesindir, ve değişken �zerindeki
etkileri birbiriyle aynıdır. Aralarındaki fark,
artırım ifadesinin
değeridir. '++$değişken' olarak yazılan
�n-artırımın değeri artırılan
değer kadardır (PHP değişkenin değerini
okumadan �nce artırır, bu sebepten
ismi �n-artırım'dır). '$değişken++' olarak
yazılan son-artırımın değeri
$değişken'in orijinal değeri kadardır,
artırılmadan �nceki (PHP değişkenin
değerini okuduktan sonra artırır, bu sebepten ismi
'son-artırım'dır).
</simpara>
<simpara>
İfadelerin �ok yaygın bir bi�imi
karşılaştırma ifadeleridir. Bu ifadeler,
&false; ya da &true; anlamına gelen 0 ya da 1 değerlerinden birini
alır.
PHP > (b�y�kt�r), >= (b�y�k eşittir), == (eşittir), !=
(eşit
değildir), < (k���kt�r), ve <= (k���k eşittir)
karşılaştırma
işlemlerini destekler. Bu ifadeler genellikle koşullu
�alıştırmalarda
kullanılır, �rneğin <literal>if</literal> bildirimleri gibi.
</simpara>
<simpara>
İfadelerin burada ele alacağımız son �rneği
bileşik işlem-atama ifadeleri.
$a'yı 1 artırmak istediğinizde basit�e '$a++' ya da '++$a'
yazacağınızı
biliyorsunuz. Peki ya daha fazla artırmak isterseniz, �rneğin 3
kadar?
Birka� defa '$a++' yazabilirsiniz, fakat bunun etkin ya da konforlu bir
y�ntem olmadığı muhakkak. �ok daha yaygın bir y�ntem
'$a = $a + 3'
yazmaktır. '$a + 3', $a artı 3 değerini alır, ve $a'ya
yazılır, bu da
$a'nın 3 kadar artırılması demektir. PHP'de ve C gibi
daha bir�ok dilde,
bunu daha kısa bir yolla yazabilirsiniz, zamanla daha a�ık ve
anlaşılabilir olacak bir yolla. $a'nın o anki değerine
3 eklemek '$a +=
3' olarak yazılabilir. Bu tam olarak "$a'nın değerini
al, buna 3
ekle, ve tekrar $a'ya yaz" demektir. Daha a�ık ve
anlaşılır olmasının
yanında daha hızlı da �alışır. '$a +=
3'�n değeri, sıradan bir atamanın
değeri gibi, atanan değerdir. Dikkat edin ki bu 3 değildir,
$a artı 3'�n
birleşmiş değeridir ($a'ya atanan değer budur). Her
iki-par�alı işlem bu
işlem-atama kipinde kullanılabilir, �rneğin '$a -= 5'
($a'nın değerinden 5
eksilt), '$b *= 7' ($b'nin değerini 7 ile �arp), vs.
</simpara>
<para>
<!-- dirge: ternary => ternary -->
Başka dillerde g�rmediyseniz garip gelebilecek bir ifade daha var, ternary
koşulu işlemi:
<informalexample><programlisting>
<![CDATA[
$ilk ? $ikinci : $���nc�
]]>
</programlisting></informalexample>
Eğer ilk alt-ifadenin değeri &true; ise (0 değilse), ikinci
alt-ifade
�alıştırılır, ve bu koşullu ifadenin
sonucudur. Değilse, ���nc� alt-ifade
�alıştırılır, ve değer budur.
</para>
<para>
Aşağıdaki �rnek size, �n- ve son-artırım
işlemlerini ve ifadeleri genel
olarak biraz daha iyi anlamanızda yardımcı olacaktır:
<informalexample>
<programlisting role="php">
<![CDATA[
function double($i)
{
return $i*2;
}
$b = $a = 5; /* $a ve $b'ye 5 değerini ata */
$c = $a++; /* son-artır, $a'nın orjinal değerini (5)
$c'ye ata */
$e = $d = ++$b; /* �n-artır, $b'nin artırılmış
değerini (6) $d ve $e'ye
ata */
/* bu noktada $d ve $e 6'ya eşit */
$f = double($d++); /* $d'nin iki katını artırımdan
<emphasis>�nce</emphasis>,
2*6 = 12, $f'ye ata */
$g = double(++$e); /* $e'nin iki katını artırımdan
<emphasis>sonra</emphasis>,
2*7 = 14, $g'ye ata */
$h = $g += 10; /* �nce, $g 10 artırılır 24 olur. Sonra,
atamanın değeri
(24) $h'ye atanır, ve $h'de 24 olur. */
]]>
</programlisting>
</informalexample>
</para>
<simpara>
B�l�m�n başında �eşitli bildirimleri
anlatacağız demiştik, ve s�z
verdiğimiz gibi, ifadeler de bildirim olabilir. Fakat, her ifade bir
bildirim değildir. Bu durumda, bildirim 'ifade' ';' şeklindedir, yani
noktalı virg�lle izlenen bir ifadedir. '$b=$a=5;'te, $a=5 ge�erli bir
ifadedir, fakat kendi başına bir bildirim değildir. Fakat
'$b=$a=5;',
ge�erli bir bildiridir.
</simpara>
<simpara>
Bahsedilmesi gereken son bir nokta, ifadelerin doğruluğudur. Bir�ok
olayda, �zellikle koşullu �alıştırımlarda ve
d�ng�lerde, ifadenin kesin
değeri ile değil, &true; veya &false; olduğuyla
ilgilenirsiniz.
<!-- (PHP doesn't have a
dedicated boolean type) : WRONG, php does. -->
<!-- dirge: type-casting => t�r d�n�ş�mleri -->
&true; ve &false; (b�y�k/k���k harf ayrımı yok) sabitleri, m�mk�n
olan iki
boole değerdir. Gerekli olduğunda bir ifade otomatik olarak boole
değerine
�evrilir. Bunun hakkında daha fazla bilgi i�in <link
linkend="language.types.typecasting">t�r d�n�ş�mleri</link> b�l�m�ne
bakınız.
</simpara>
<simpara>
<!-- dirge: expr => expr -->
PHP'deki ifade uygulaması tam ve �ok g��l�d�r, ve tamamiyle
a�ıklanması bu
el kitabının sınırları
dışındadır. Yukarıdaki �rnekler size ifadelerin ne
olduğu ve işe yarar ifadeleri nasıl
oluşturacağınız konusunda fikir
vermiştir. Bu el kitabının i�inde her t�rl� ge�erli PHP
ifadesini
kastetmek i�in <replaceable>expr</replaceable> yazacağız.
</simpara>
</chapter>
<!-- 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
sgml-parent-document:nil
sgml-default-dtd-file:"../../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
-->