<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.variables.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'language.variables.basics.php',
    1 => 'Temeller',
    2 => 'Temeller',
  ),
  'up' => 
  array (
    0 => 'language.variables.php',
    1 => 'Değişkenler',
  ),
  'prev' => 
  array (
    0 => 'language.variables.php',
    1 => 'Değişkenler',
  ),
  'next' => 
  array (
    0 => 'language.variables.predefined.php',
    1 => '&Ouml;ntanımlı Değişkenler',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/variables.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.variables.basics" class="sect1">
   <h2 class="title">Temeller</h2>

   <p class="simpara">
    PHP&#039;de değişkenler dolar işaretini takip eden bir değişken adı ile
    gösterilir. Değişken adı büyük-küçük harf duyarlıdır.
   </p>

   <p class="para">
    Değişken isimleri PHP&#039;deki diğer yaftalarla aynı kurallara tabidir.
    Geçerli bir değişken ismi bir harf veya alt çizgi imi ile başlar,
    herhangi sayıda harf, sayı veya alt çizgi iminden oluşur. Düzenli ifade
    olarak, şu şekilde ifade edilebilir:
    <code class="code">^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$</code>
   </p>

   <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
    <span class="simpara">
      Burada kastedilen harf a-z veya A-Z arasındaki ASCII harfler ve 128 ile
      255 (<code class="literal">0x80-0xff</code>) arasındaki baytlardır.
    </span>
   </p></blockquote>

   <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
    <span class="simpara">
      <code class="literal">$this</code> atama yapılamayan özel bir değişkendir.
      PHP 7.1.0&#039;dan önce dolaylı atama (örn. <a href="language.variables.variable.php" class="link">değişken değişkenler</a>
      kullanılarak) mümkündü.
    </span>
   </p></blockquote>

   <div class="tip"><strong class="tip">İpucu</strong>
<p class="simpara">Ayrıca <a href="userlandnaming.php" class="xref">Kullanıcı Alanı İsimlendirme Kılavuzu</a> belgesine de bakılabilir.
</p></div>

   <p class="para">
    Değişkenlerle ilgili işlevler hakkında bilgi için,
    <a href="ref.var.php" class="link">Değişkenlerle ilgili işlevler</a> belgesine
    bakınız.
   </p>

   <p class="para">
    <div class="informalexample">
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$var </span><span style="color: #007700">= </span><span style="color: #DD0000">'Kemal'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$Var </span><span style="color: #007700">= </span><span style="color: #DD0000">'gel'</span><span style="color: #007700">;<br />echo </span><span style="color: #DD0000">"</span><span style="color: #0000BB">$var</span><span style="color: #DD0000">, </span><span style="color: #0000BB">$Var</span><span style="color: #DD0000">"</span><span style="color: #007700">;      </span><span style="color: #FF8000">// "Kemal, gel" yazdırır<br /><br /></span><span style="color: #007700">$</span><span style="color: #0000BB">4site </span><span style="color: #007700">= </span><span style="color: #DD0000">'dene bakalım'</span><span style="color: #007700">;     </span><span style="color: #FF8000">// geçersiz; sayı ile başlar<br /></span><span style="color: #0000BB">$_4site </span><span style="color: #007700">= </span><span style="color: #DD0000">'dene bakalım'</span><span style="color: #007700">;    </span><span style="color: #FF8000">// geçerli; alt çizgi ile başlar<br /></span><span style="color: #0000BB">$diğer </span><span style="color: #007700">= </span><span style="color: #DD0000">'gerekirse diye'</span><span style="color: #007700">;   </span><span style="color: #FF8000">// geçerli; ISO-8859-9'da 'ğ' harfi 127-255<br />                             // arasında, UTF-8'de ise iki baytı 127-255<br />                             // arasındadır.<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>

   <p class="para">
    Öntanımlı olarak, değişkenler her zaman değerleriyle atanır. Başka bir
    deyişle, bir değişkene bir ifade atandığında özgün ifade bütün değeriyle
    hedef değişkene kopyalanır. Bu demektir ki, örneğin, bir değişkenin
    değerini başka bir değişkene atadıktan sonra, değişkenlerden birisinin
    değerini değiştirmenin diğeri üzerinde etkisi olmayacaktır. Bu çeşit
    atama hakkında daha fazla bilgi için,
    <a href="language.expressions.php" class="link">İfadeler</a> bölümüne bakınız.
   </p>
   <p class="para">
    PHP değişkenlere değer atamak için başka bir yol daha sunar: <a href="language.references.php" class="link">Gönderimli atama</a>. Yani, yeni
    değişken sadece asıl değişkene gönderim yapar  (diğer bir deyişle, &quot;onun
    takma adı olur&quot; veya &quot;onu gösterir&quot;) Gönderim yapılan değişkendeki
    değişiklikler aslını da etkiler, tersi de geçerlidir.
   </p>
   <p class="para">
    Gönderimli atama için, gönderim yapılacak (daha önce değer atanmış)
    değişkenin başına ve imi (&amp;) ekleyin. Örneğin, aşağıdaki kod parçası
    iki kez &#039;<code class="literal">Benim adım Mustafa</code>&#039; yazar:
    <div class="informalexample">
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$foo </span><span style="color: #007700">= </span><span style="color: #DD0000">'Mustafa'</span><span style="color: #007700">;          </span><span style="color: #FF8000">// 'Mustafa' değerini $foo değişkenine ata<br /></span><span style="color: #0000BB">$bar </span><span style="color: #007700">= &amp;</span><span style="color: #0000BB">$foo</span><span style="color: #007700">;              </span><span style="color: #FF8000">// $foo değişkenini $bar değişkenine gönderimli ata<br /></span><span style="color: #0000BB">$bar </span><span style="color: #007700">= </span><span style="color: #DD0000">"Benim adım </span><span style="color: #0000BB">$bar</span><span style="color: #DD0000">"</span><span style="color: #007700">;  </span><span style="color: #FF8000">// $bar değişkenini değiştir ...<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$bar</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$foo</span><span style="color: #007700">;                 </span><span style="color: #FF8000">// $foo değişkeninin değeri de değişti.<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>

   <p class="para">
    Dikkat edilmesi gereken önemli bir şey de sadece isimli değişkenlerin
    gönderimle atanabileceğidir.
    <div class="informalexample">
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$foo </span><span style="color: #007700">= </span><span style="color: #0000BB">25</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$bar </span><span style="color: #007700">= &amp;</span><span style="color: #0000BB">$foo</span><span style="color: #007700">;      </span><span style="color: #FF8000">// Bu geçerli bir atamadır.<br /></span><span style="color: #0000BB">$bar </span><span style="color: #007700">= &amp;(</span><span style="color: #0000BB">24 </span><span style="color: #007700">* </span><span style="color: #0000BB">7</span><span style="color: #007700">);  </span><span style="color: #FF8000">// Geçersiz; isimlendirilmemiş bir ifadeye gönderim yapıyor<br /><br /></span><span style="color: #007700">function </span><span style="color: #0000BB">test</span><span style="color: #007700">()<br />{<br />   return </span><span style="color: #0000BB">25</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$bar </span><span style="color: #007700">= &amp;</span><span style="color: #0000BB">test</span><span style="color: #007700">();    </span><span style="color: #FF8000">// Geçersiz.<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>

   <p class="para">
    PHP&#039;de değişkenleri ilklendirmek gerekmez ancak baştan bir değer atamak
    oldukça iyi bir alışkanlıktır. İlklendirilmeyen değişkenlerin
    kullanıldıkları bağlamda türlerine bağlı olarak öntanımlı değerleri
    vardır; öntanımlı değer <span class="type"><a href="language.types.boolean.php" class="type boolean">boolean</a></span> için <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>,
    <span class="type"><a href="language.types.integer.php" class="type integer">integer</a></span> ve <span class="type"><a href="language.types.float.php" class="type float">float</a></span> için sıfır,
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span> için boş metin (örnekte <span class="function"><a href="function.echo.php" class="function">echo</a></span> da
    kullanıldı), <span class="type"><a href="language.types.array.php" class="type array">array</a></span> için ise boş bir dizidir.
   </p>
   <p class="para">
    <div class="example" id="example-1">
     <p><strong>Örnek 1 - İlklendirilmemiş değişkenlerin öntanımlı değerleri</strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Herhangi bir bağlamda tanımlanmamış veya<br />// gönderim yapılmamış değişken;  NULL sonuç verir.<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$tanımsız_değişken</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Mantıksal değer kullanımı;  'false' çıktısı verir<br />// (Bu sözdizimi için üç terimli işlecine bakınız)<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$tanımsız_mantıksallık </span><span style="color: #007700">? </span><span style="color: #DD0000">"true\n" </span><span style="color: #007700">: </span><span style="color: #DD0000">"false\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Dizge kullanımı;  çıktısı: 'string(3) "abc"'<br /></span><span style="color: #0000BB">$tanımsız_metin </span><span style="color: #007700">.= </span><span style="color: #DD0000">'abc'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$tanımsız_metin</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Tamsayı kullanımı;  'int(25)' çıktılar.<br /></span><span style="color: #0000BB">$tanımsız_tamsayı </span><span style="color: #007700">+= </span><span style="color: #0000BB">25</span><span style="color: #007700">;    </span><span style="color: #FF8000">// 0 + 25 =&gt; 25<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$tanımsız_tamsayı</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Gerçek sayı kullanımı;  'float(1.25)' çıktılar.<br /></span><span style="color: #0000BB">$tanımsız_sayı </span><span style="color: #007700">+= </span><span style="color: #0000BB">1.25</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$tanımsız_sayı</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Dizi kullanımı; çıktısı: array(1) {  [3]=&gt;  string(3) "def" }<br /></span><span style="color: #0000BB">$tanımsız_dizi</span><span style="color: #007700">[</span><span style="color: #0000BB">3</span><span style="color: #007700">] = </span><span style="color: #DD0000">"def"</span><span style="color: #007700">; </span><span style="color: #FF8000">// array() + array(3 =&gt; "def") =&gt; array(3 =&gt; "def")<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$tanımsız_dizi</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Nesne kullanımı; yeni stdClass nesnesi oluşturur<br />// (Öntanımlı sınıflar belgesine bakınız:<br />// http://www.php.net/manual/tr/reserved.classes.php)<br />// Çıktısı: object(stdClass)#1 (1) {  ["foo"]=&gt;  string(3) "bar" }<br /></span><span style="color: #0000BB">$tanımsız_nesne</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">foo </span><span style="color: #007700">= </span><span style="color: #DD0000">'bar'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$tanımsız_nesne</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
   <p class="para">
    İlklendirilmemiş bir değişkenin öntanımlı değerine güvenmek, içinde aynı
    değişken isminin kullanıldığı bir dosyayı betiğe dahil ettiğinizde sorun
    çıkarır. İlklendirilmemiş değişken kullanımı
    <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> (PHP 8.0.0 öncesinde,
    <strong><code><a href="errorfunc.constants.php#constant.e-notice">E_NOTICE</a></code></strong>) seviyesinde hata oluşturur, ancak
    ilklendirilmemiş bir diziye eleman eklenmesi halinde hata oluşmaz.
    <span class="function"><a href="function.isset.php" class="function">isset()</a></span> dil oluşumu bir değişkenin ilklendirilip
    ilklendirilmediğini öğrenmek için
    kullanılabilir.
   </p>
  </div><?php manual_footer($setup); ?>