<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.functions.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'functions.arguments.php',
    1 => 'İşlev bağımsız değişkenleri',
    2 => 'İşlev bağımsız değişkenleri',
  ),
  'up' => 
  array (
    0 => 'language.functions.php',
    1 => 'İşlevler',
  ),
  'prev' => 
  array (
    0 => 'functions.user-defined.php',
    1 => 'Kullanıcı tanımlı işlevler',
  ),
  'next' => 
  array (
    0 => 'functions.returning-values.php',
    1 => 'D&ouml;nen değerler',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/functions.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="functions.arguments" class="sect1">
   <h2 class="title">İşlev bağımsız değişkenleri</h2>

   <p class="simpara">
    Bir işleve veri, virgül ayraçlı ifadelerden oluşan bir bağımsız değişken listesi
    ile aktarılır. İşlev çalıştırılmadan önce bağımsız değişkenler soldan sağa doğru
    değerlendirilir (<em>hevesli</em> değerlendirme).
   </p>
   <p class="para">
    PHP, bağımsız değişkenlerin değerleriyle aktarılmalarını (öntanımlı), <a href="functions.arguments.php#functions.arguments.by-reference" class="link">gönderimli aktarım</a>ı ve
    <a href="functions.arguments.php#functions.arguments.default" class="link">öntanımlı bağımsız değişken
    kullanımı</a>nı destekler.
    <a href="functions.arguments.php#functions.variable-arg-list" class="link">Bağımsız değişken sayısı değişken
    işlevler</a> ve <a href="functions.arguments.php#functions.named-arguments" class="link">İsimli
    bağımsız değişkenler</a> de desteklenmektedir.
   </p>
   <p class="para">
    <div class="example" id="example-1">
     <p><strong>Örnek 1 - İşlevlere dizi aktarımı</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: #007700">function </span><span style="color: #0000BB">dizi_kabul_eder</span><span style="color: #007700">(</span><span style="color: #0000BB">$girdi</span><span style="color: #007700">)<br />{<br />    echo </span><span style="color: #DD0000">"</span><span style="color: #0000BB">$girdi</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]</span><span style="color: #DD0000"> + </span><span style="color: #0000BB">$girdi</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]</span><span style="color: #DD0000"> = "</span><span style="color: #007700">, </span><span style="color: #0000BB">$girdi</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]+</span><span style="color: #0000BB">$girdi</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">];<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
   <p class="para">
    PHP 8.0.0&#039;dan itibaren, işlev bağımsız değişkenlerinin sonunda göz ardı edilecek
    bir virgül bulunabilir. Bu, özellikle bağımsız değişken listesinin uzun olduğu
    veya uzun isimler içerdiği durumlarda, bağımsız değişkenleri alt alta sıralamayı
    kolaylaştırır.
   </p>
   <p class="para">
   <div class="example" id="example-2">
    <p><strong>Örnek 2 - Virgül ile sonlanan işlev bağımsız değişkenleri örneği</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: #007700">function </span><span style="color: #0000BB">takes_many_args</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$first_arg</span><span style="color: #007700">,<br />    </span><span style="color: #0000BB">$second_arg</span><span style="color: #007700">,<br />    </span><span style="color: #0000BB">$a_very_long_argument_name</span><span style="color: #007700">,<br />    </span><span style="color: #0000BB">$arg_with_default </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">,<br />    </span><span style="color: #0000BB">$again </span><span style="color: #007700">= </span><span style="color: #DD0000">'a default string'</span><span style="color: #007700">, </span><span style="color: #FF8000">// 8.0.0 öncesinde bu virgüle izin verilmezdi.<br /></span><span style="color: #007700">)<br />{<br />    </span><span style="color: #FF8000">// ...<br /></span><span style="color: #007700">}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
   </p>

   <div class="sect2" id="functions.arguments.by-reference">
    <h3 class="title">Gönderimli bağımsız değişken kullanımı</h3>

    <p class="simpara">
      Öntanımlı olarak, işlev bağımsız değişkenleri değerleriyle aktarılırlar (bu
      durumda bir bağımsız değişkenin değeri işlev içinde değiştirildiğinde işlevin
      çağrıldığı yerdeki değeri bundan etkilenmez. İşlevin çağrıldığı yerdeki
      değerinin de değişmesini istiyorsanız gönderimli bağımsız değişken
      kullanmalısınız.
    </p>
    <p class="para">
      Bir işleve bir bağımsız değişkenin daima gönderimli olarak aktarılmasını
      istiyorsanız, işlev bildiriminde o bağımsız değişkenin başına &amp;
      karakterini koyarak bunu sağlayabilirsiniz:
    </p>
    <p class="para">
     <div class="example" id="example-3">
      <p><strong>Örnek 3 - Gönderimli işlev bağımsız değişkenlerinin aktarımı</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: #007700">function </span><span style="color: #0000BB">şunu_da_ekle</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">$dizge</span><span style="color: #007700">)<br />{<br />    </span><span style="color: #0000BB">$dizge </span><span style="color: #007700">.= </span><span style="color: #DD0000">'ve bir kaç karakter eklenmiştir.'</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">$dzg </span><span style="color: #007700">= </span><span style="color: #DD0000">'Bu bir dizgedir '</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">şunu_da_ekle</span><span style="color: #007700">(</span><span style="color: #0000BB">$dzg</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$dzg</span><span style="color: #007700">;    </span><span style="color: #FF8000">// 'Bu bir dizgedir ve bir kaç karakter eklenmiştir.'<br />              //  çıktısını verir.<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

     </div>
    </p>
    <p class="para">
     Gönderimli aktarılması beklenen bir değeri değişkeniyle değil değeriyle
     aktarmak bir hatadır.
    </p>
   </div>

   <div class="sect2" id="functions.arguments.default">
    <h3 class="title">Öntanımlı bağımsız değişken değerleri</h3>

    <p class="para">
      Bir işlevde, bağımsız değişkenler için öntanımlı değerler, değişken ataması
      biçiminde tanımlanabilir. Öntanımlı değer sadece işlev çağrısı
      sırasında bağımsız değişken belirtilmemişse kullanılır. Şuna özellikle
      dikkat edilmelidir: <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> değer öntanımlı değer olarak tanımlanamaz.
    </p>
    <p class="para">
     <div class="example" id="example-4">
      <p><strong>Örnek 4 - İşlev içinde öntanımlı bağımsız değişken kullanımı</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: #007700">function </span><span style="color: #0000BB">kahveyap</span><span style="color: #007700">(</span><span style="color: #0000BB">$hangisi </span><span style="color: #007700">= </span><span style="color: #DD0000">"orta şekerli"</span><span style="color: #007700">)<br />{<br />    return </span><span style="color: #DD0000">"Bir fincan </span><span style="color: #0000BB">$hangisi</span><span style="color: #DD0000"> kahve yapalım.\n"</span><span style="color: #007700">;<br />}<br />echo </span><span style="color: #0000BB">kahveyap</span><span style="color: #007700">();<br />echo </span><span style="color: #0000BB">makecoffee</span><span style="color: #007700">(</span><span style="color: #0000BB">null</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">kahveyap</span><span style="color: #007700">(</span><span style="color: #DD0000">"az şekerli"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

      <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
Bir fincan orta şekerli kahve yapalım.
Bir fincan kahve yapalım.
Bir fincan az şekerli kahve yapalım.
</pre></div>
      </div>
     </div>
    </p>
    <p class="para">
     Öntanımlı değer olarak, diziler, özel <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> türü ve PHP 8.1.0 itibariyle
     <a href="language.oop5.basic.php#language.oop5.basic.new" class="link">new SınıfAdı()</a> sözdizimi ile
     nesneler kullanılabilir.
    </p>
    <p class="para">
     <div class="example" id="example-5">
      <p><strong>Örnek 5 - Sayıl olmayan türlerin öntanımlı değer olarak kullanımı</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: #007700">function </span><span style="color: #0000BB">kahveyap</span><span style="color: #007700">(</span><span style="color: #0000BB">$hangi </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"orta şekerli"</span><span style="color: #007700">), </span><span style="color: #0000BB">$neyde </span><span style="color: #007700">= </span><span style="color: #0000BB">NULL</span><span style="color: #007700">)<br />{<br />    </span><span style="color: #0000BB">$neyde </span><span style="color: #007700">= </span><span style="color: #0000BB">is_null</span><span style="color: #007700">(</span><span style="color: #0000BB">$neyde</span><span style="color: #007700">) ? </span><span style="color: #DD0000">"ocakta" </span><span style="color: #007700">: </span><span style="color: #0000BB">$neyde</span><span style="color: #007700">;<br />    return </span><span style="color: #DD0000">"Bir fincan "</span><span style="color: #007700">.</span><span style="color: #0000BB">join</span><span style="color: #007700">(</span><span style="color: #DD0000">" bir fincan "</span><span style="color: #007700">, </span><span style="color: #0000BB">$hangi</span><span style="color: #007700">).</span><span style="color: #DD0000">" kahve </span><span style="color: #0000BB">$neyde</span><span style="color: #DD0000"> yapıldı.\n"</span><span style="color: #007700">;<br />}<br />echo </span><span style="color: #0000BB">kahveyap</span><span style="color: #007700">();<br />echo </span><span style="color: #0000BB">kahveyap</span><span style="color: #007700">(array(</span><span style="color: #DD0000">"çok şekerli"</span><span style="color: #007700">, </span><span style="color: #DD0000">"az şekerli"</span><span style="color: #007700">), </span><span style="color: #DD0000">"mangalda"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

      <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Bir fincan orta şekerli kahve ocakta yapıldı.
Bir fincan çok şekerli bir fincan az şekerli kahve mangalda yapıldı.
</pre></div>
      </div>
     </div>
    </p>
    <p class="para">
     <div class="example" id="example-6">
      <p><strong>Örnek 6 - Öntanımlı değer olarak nesne kullanımı (PHP 8.1.0 ve sonrası)</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: #007700">class </span><span style="color: #0000BB">ÖntanımlıDemleyici </span><span style="color: #007700">{<br />    public function </span><span style="color: #0000BB">demle</span><span style="color: #007700">() {<br />        return </span><span style="color: #DD0000">'Çay demleniyor.\n'</span><span style="color: #007700">;<br />    }<br />}<br />class </span><span style="color: #0000BB">PorselenDemleyici </span><span style="color: #007700">{<br />    public function </span><span style="color: #0000BB">demle</span><span style="color: #007700">() {<br />        return </span><span style="color: #DD0000">'Özel çayınız demleniyor.\n'</span><span style="color: #007700">;<br />    }<br />}<br />function </span><span style="color: #0000BB">çayyap</span><span style="color: #007700">(</span><span style="color: #0000BB">$demleyici </span><span style="color: #007700">= new </span><span style="color: #0000BB">ÖntanımlıDemleyici</span><span style="color: #007700">)<br />{<br />    return </span><span style="color: #0000BB">$demleyici</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">demle</span><span style="color: #007700">();<br />}<br />echo </span><span style="color: #0000BB">çayyap</span><span style="color: #007700">();<br />echo </span><span style="color: #0000BB">çayyap</span><span style="color: #007700">(new </span><span style="color: #0000BB">PorselenDemleyici</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>


      <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Çay demleniyor.
Özel çayınız demleniyor.
</pre></div>
      </div>
     </div>
    </p>

    <p class="simpara">
     Öntanımlı değer bir değişken, bir sınıf üyesi ya da bir işlev çağrısı
     değil, bir sabit ifadesi olmalıdır.
    </p>
    <p class="para">
     Öntanımlı bağımsız değişkenleri kullanırken, öntanımlama yapılmış tüm
     bağımsız değişkenlerin öntanımlama yapılmamış tüm bağımsız değişkenlerden sonra yer
     alması gerektiğine dikkat edin. Aksi takdirde çağrı sırasında bunlar
     atlanamaz. Aşağıdaki örneği inceleyin:
    </p>
    <p class="para">
     <div class="example" id="example-7">
      <p><strong>Örnek 7 - Öntanımlı bağımsız değişkenlerin hatalı kullanımı</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: #007700">function </span><span style="color: #0000BB">yoğurtyap</span><span style="color: #007700">(</span><span style="color: #0000BB">$miktar </span><span style="color: #007700">= </span><span style="color: #DD0000">"az"</span><span style="color: #007700">, </span><span style="color: #0000BB">$katkı</span><span style="color: #007700">)<br />{<br />    return </span><span style="color: #DD0000">"Bir kase </span><span style="color: #0000BB">$miktar</span><span style="color: #DD0000"> </span><span style="color: #0000BB">$katkı</span><span style="color: #DD0000"> içeren yoğurt yapılıyor.\n"</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">yoğurtyap</span><span style="color: #007700">(</span><span style="color: #DD0000">"çilek"</span><span style="color: #007700">);   </span><span style="color: #FF8000">// "çilek" $miktar olarak işleme alınır ve<br />                           // tek bağımsız değişken aktarımı hataya yol açar.<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

      <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Fatal error: Uncaught ArgumentCountError: Too few arguments to function yoğurtyap(), 1 passed in dnm.php on line 7 and exactly 2 expected in dnm.php:2
Stack trace:
#0 dnm.php(7): yoğurtyap(&#039;\xC3\xA7ilekli&#039;)
#1 {main}
  thrown in dnm.php on line 2
</pre></div>
      </div>
     </div>
    </p>
    <p class="para">
      Şimdi, yukarıdakini bununla karşılaştıralım:
    </p>
    <p class="para">
     <div class="example" id="example-8">
      <p><strong>Örnek 8 - Öntanımlı bağımsız değişkenlerin doğru kullanımı</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: #007700">function </span><span style="color: #0000BB">yoğurtyap</span><span style="color: #007700">(</span><span style="color: #0000BB">$katkı</span><span style="color: #007700">, </span><span style="color: #0000BB">$miktar </span><span style="color: #007700">= </span><span style="color: #DD0000">"az"</span><span style="color: #007700">)<br />{<br />    return </span><span style="color: #DD0000">"Bir kase </span><span style="color: #0000BB">$miktar</span><span style="color: #DD0000"> </span><span style="color: #0000BB">$katkı</span><span style="color: #DD0000"> içeren yoğurt yapılıyor.\n"</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">yoğurtyap</span><span style="color: #007700">(</span><span style="color: #DD0000">"çilek"</span><span style="color: #007700">);   </span><span style="color: #FF8000">// "çilek" $katkı olarak işleme alınır<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

      <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Bir kase az çilek içeren yoğurt yapılıyor.
</pre></div>
      </div>
     </div>
    </p>
    <p class="para">
     PHP 8.0.0 ve sonrasında, çok sayıda seçimlik bağımsız değişkeni atlamak için
     <a href="functions.arguments.php#functions.named-arguments" class="link">isimli bağımsız değişkenler</a>
     kullanılabilir.
    </p>
    <p class="para">
     <div class="example" id="example-9">
      <p><strong>Örnek 9 - Öntanımlı işlev bağımsız değişkenlerinin doğru kullanımı</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: #007700">function </span><span style="color: #0000BB">yoğurtyap</span><span style="color: #007700">(</span><span style="color: #0000BB">$katkı </span><span style="color: #007700">= </span><span style="color: #DD0000">"şeker"</span><span style="color: #007700">, </span><span style="color: #0000BB">$miktar </span><span style="color: #007700">= </span><span style="color: #DD0000">"az"</span><span style="color: #007700">, </span><span style="color: #0000BB">$tarz </span><span style="color: #007700">= </span><span style="color: #DD0000">"doğal"</span><span style="color: #007700">)<br />{<br />    return </span><span style="color: #DD0000">"Bir kase </span><span style="color: #0000BB">$miktar</span><span style="color: #DD0000"> </span><span style="color: #0000BB">$katkı</span><span style="color: #DD0000"> içeren </span><span style="color: #0000BB">$tarz</span><span style="color: #DD0000"> yoğurt yapılıyor.\n"</span><span style="color: #007700">;<br />}<br />echo </span><span style="color: #0000BB">makeyogurt</span><span style="color: #007700">(</span><span style="color: #0000BB">$tarz</span><span style="color: #007700">: </span><span style="color: #DD0000">"süzme"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

      <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Bir kase az çilek içeren süzme yoğurt yapılıyor.
</pre></div>
      </div>
     </div>
    </p>
    <p class="para">
     PHP 8.0.0 ve sonrasında, işlev çağrısında zorunlu bağımsız değişkenlerin
     seçimliklerden sonra tanımlanması <em>kullanımdan
     kaldırılmıştır</em>. Bu genellikle, kullanılmayacak olan öntanımlı
     değer atlanarak çözümlenir. Bunun tek istisnası, türü örtük olarak <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>
     yapan <code class="code">Tür $param = null</code> biçimindeki bağımsız değişkenlerdir. Bunun
     kullanımına hala izin verilmekteyse de bunun yerine,
     <a href="language.types.declarations.php#language.types.declarations.nullable" class="link"><strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> olabilen
     tür</a> kullanımı önerilmektedir.
     <div class="example" id="example-10">
      <p><strong>Örnek 10 - Seçimliklerin zorunlu bağımsız değişkenlerden sonra bildirimi</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: #007700">function </span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #0000BB">$a </span><span style="color: #007700">= [], </span><span style="color: #0000BB">$b</span><span style="color: #007700">) {} </span><span style="color: #FF8000">// Öntanımlı bağımsız değişken böyle kullanılamaz;<br />                              // PHP 8.0.0 ve sonrasında kullanımda değil<br /><br /> </span><span style="color: #007700">function </span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">) {}      </span><span style="color: #FF8000">// İşlevsel olarak aynı, bir uyarı verilmez<br /> </span><span style="color: #007700">function </span><span style="color: #0000BB">bar</span><span style="color: #007700">(</span><span style="color: #0000BB">A $a </span><span style="color: #007700">= </span><span style="color: #0000BB">null</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">) {} </span><span style="color: #FF8000">// Hala izin veriliyor; $a null olabiliyor<br /> </span><span style="color: #007700">function </span><span style="color: #0000BB">bar</span><span style="color: #007700">(?</span><span style="color: #0000BB">A $a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">) {}       </span><span style="color: #FF8000">// Önerilen kullanım<br /> </span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

     </div>
    </p>
    <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
     <span class="simpara">
      PHP 7.1.0 ve sonrasında, öntanımlı değer belirtilmemiş bir bağımsız değişkenin
      atlanması <span class="classname"><a href="class.argumentcounterror.php" class="classname">ArgumentCountError</a></span> yavrulanmasına yol
      açmaktadır; önceki sürümlerde sadece bir uyarı çıktılanırdı.
     </span>
    </p></blockquote>

    <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
     <span class="simpara">
      Gönderimli aktarılabilen bağımsız değişkenler öntanımlı değer içerebilir.
     </span>
    </p></blockquote>
   </div>

   <div class="sect2" id="functions.variable-arg-list">
    <h3 class="title">Değişken uzunlukta bağımsız değişken listesi</h3>

    <p class="simpara">
     PHP, kullanıcı tanımlı işlevlerde bağımsız değişken listesinin sonuna
     <code class="literal">...</code> konarak listenin uzatılmasını destekler.
    </p>

    <p class="para">
     Bağımsız değişken listeleri, işlevin değişken sayıda bağımsız değişken kabul ettiğini
     belirtmek için <code class="literal"> ... </code> simgesini içerebilir. Bu durumda
     bağımsız değişkenler değişkene bir dizi olarak aktarılır:
    </p>

    <p class="para">
     <div class="example" id="example-11">
     <p><strong>Örnek 11 - Değişken uzunlukta bağımsız değişkenler için <code class="literal">...</code> kullanımı</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: #007700">&lt;?</span><span style="color: #0000BB">php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">sum</span><span style="color: #007700">(...</span><span style="color: #0000BB">$numbers</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$acc </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />    foreach (</span><span style="color: #0000BB">$numbers </span><span style="color: #007700">as </span><span style="color: #0000BB">$n</span><span style="color: #007700">) {<br />        </span><span style="color: #0000BB">$acc </span><span style="color: #007700">+= </span><span style="color: #0000BB">$n</span><span style="color: #007700">;<br />    }<br />    return </span><span style="color: #0000BB">$acc</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">sum</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

     <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
10
</pre></div>
     </div>
    </div>
   </p>

   <p class="para">
    Bir diziyi, bir <span class="classname"><a href="class.traversable.php" class="classname">Traversable</a></span> değişkeni veya bir
    sabiti bağımsız değişken listesi haline getirmek için işlev çağrılırken de
    <code class="literal">...</code> kullanılabilir. Örnek:
   </p>
   <p class="para">
    <div class="example" id="example-12">
     <p><strong>Örnek 12  -Bağımsız değişkenlere erişmek için <code class="literal">...</code>
        kullanımı</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: #007700">function </span><span style="color: #0000BB">add</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">) {<br />    return </span><span style="color: #0000BB">$a </span><span style="color: #007700">+ </span><span style="color: #0000BB">$b</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">add</span><span style="color: #007700">(...[</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">]).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= [</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">];<br />echo </span><span style="color: #0000BB">add</span><span style="color: #007700">(...</span><span style="color: #0000BB">$a</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

     <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
3
3
</pre></div>
     </div>
    </div>
   </p>

   <p class="para">
    <code class="literal">...</code> dizgeciğinden önce normal konumsal bağımsız değişkenler
    belirtilebilir. Bu durumda <code class="literal">...</code> ile üretilen diziye
    sadece konumsal bağımsız değişkenlerle eşleşen sonuncu bağımsız değişkeni izleyen
    eşleşmeyen bağımsız değişkenler eklenir.
   </p>

   <p class="para">
    <code class="literal">...</code> dizgeciğinin önüne <a href="language.types.declarations.php" class="link">tür bildirimi</a> de
    eklenebilir. Bu durumda <code class="literal">...</code> kapsamındaki tüm
    bağımsız değişkenlerin bu tür bildirimi ile eşleşmesi gerekir.
    <div class="example" id="example-13">
     <p><strong>Örnek 13 Değişken bağımsız değişkenlerde tür bildirimi</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: #007700">function </span><span style="color: #0000BB">total_intervals</span><span style="color: #007700">(</span><span style="color: #0000BB">$unit</span><span style="color: #007700">, </span><span style="color: #0000BB">DateInterval </span><span style="color: #007700">...</span><span style="color: #0000BB">$intervals</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$time </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />    foreach (</span><span style="color: #0000BB">$intervals </span><span style="color: #007700">as </span><span style="color: #0000BB">$interval</span><span style="color: #007700">) {<br />        </span><span style="color: #0000BB">$time </span><span style="color: #007700">+= </span><span style="color: #0000BB">$interval</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">$unit</span><span style="color: #007700">;<br />    }<br />    return </span><span style="color: #0000BB">$time</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= new </span><span style="color: #0000BB">DateInterval</span><span style="color: #007700">(</span><span style="color: #DD0000">'P1D'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= new </span><span style="color: #0000BB">DateInterval</span><span style="color: #007700">(</span><span style="color: #DD0000">'P2D'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">total_intervals</span><span style="color: #007700">(</span><span style="color: #DD0000">'d'</span><span style="color: #007700">, </span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">).</span><span style="color: #DD0000">' gün'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Bir DateInterval nesnesi olmadığından bu başarısız olur.<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">total_intervals</span><span style="color: #007700">(</span><span style="color: #DD0000">'d'</span><span style="color: #007700">, </span><span style="color: #0000BB">null</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

     <div class="example-contents"><p>
Yukarıdaki örneğin çıktısı:</p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
3 gün
Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2
</pre></div>
     </div>
    </div>
   </p>

   <p class="para">
    Son olarak, <code class="literal">...</code> dizgeciğinin önüne bir
    <code class="literal">&amp;</code> ekleyerek değişken bağımsız değişkenleri
    <a href="functions.arguments.php#functions.arguments.by-reference" class="link">gönderimli</a>
    olarak da aktarabilirsiniz.
   </p>

  </div>

  <div class="sect2" id="functions.named-arguments">
   <h3 class="title">İsimli bağımsız değişkenler</h3>

   <p class="para">
    PHP 8.0.0, var olan konumsal bağımsız değişkenlerin bir uzantısı olarak isimli
    bağımsız değişkenleri tanıttı. İsimli bağımsız değişkenler, bağımsız değişkenlerin konuma
    göre değil bağımsız değişken adına göre işleve iletilmesine izin verir. Bu,
    bağımsız değişkeni kendini belgelendiren bağımsız değişken haline, bağımsız değişkenleri de
    sıralamadan bağımsız hale getirir ve öntanımlı değerlerin keyfi olarak
    atlanmasına izin verir.
   </p>

   <p class="para">
    İsimli bağımsız değişkenler, değerin önüne iki nokta üst üste ile bağımsız değişken
    adı eklenerek iletilir. Ayrılmış anahtar sözcüklerin bağımsız değişken adları
    olarak kullanılmasına izin verilir. Bağımsız değişken adı bir tanımlayıcı
    olmalıdır, bir değişkenle belirtilmesine izin verilmez.
   </p>
   <p class="para">
    <div class="example" id="example-14">
     <p><strong>Örnek 14 - İsimli bağımsız değişken sözdizimi</strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />işlevim</span><span style="color: #007700">(</span><span style="color: #0000BB">değişkenAdı</span><span style="color: #007700">: </span><span style="color: #0000BB">$değer</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">array_foobar</span><span style="color: #007700">(array: </span><span style="color: #0000BB">$değer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// desteklenmiyor<br /></span><span style="color: #0000BB">işlev_adı</span><span style="color: #007700">(</span><span style="color: #0000BB">$değişkeneSaklanmışBağımsızDeğişkenAdı</span><span style="color: #007700">: $</span><span style="color: #0000BB">$değer</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

     </div>
     <div class="example" id="example-15">
      <p><strong>Örnek 15 - Konumsal ve isimli bağımsız değişkenler</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">// Konumsal bağımsız değişkenler:<br /></span><span style="color: #0000BB">array_fill</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">100</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// İsimli bağımsız değişkenler:<br /></span><span style="color: #0000BB">array_fill</span><span style="color: #007700">(</span><span style="color: #0000BB">start_index</span><span style="color: #007700">: </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">count</span><span style="color: #007700">: </span><span style="color: #0000BB">100</span><span style="color: #007700">, </span><span style="color: #0000BB">value</span><span style="color: #007700">: </span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
   <p class="para">
    İsimli bağımsız değişkenlerin aktarılma sırasının bir önemi yoktur.
   </p>
   <p class="para">
    <div class="example" id="example-16">
     <p><strong>Örnek 16 - Farklı bağımsız değişken sırasıyla yukarıdaki örnek</strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />array_fill</span><span style="color: #007700">(</span><span style="color: #0000BB">value</span><span style="color: #007700">: </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">count</span><span style="color: #007700">: </span><span style="color: #0000BB">100</span><span style="color: #007700">, </span><span style="color: #0000BB">start_index</span><span style="color: #007700">: </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
   <p class="para">
    İsimli bağımsız değişkenler konumsal bağımsız değişkenlerle birleştirilebilir. Bu
    durumda, isimli bağımsız değişkenler konumsal bağımsız değişkenlerden sonra gelmelidir.
    Sıralarına bakılmaksızın, bir işlevin isteğe bağlı bağımsız değişkenlerinden
    yalnızca bazılarını belirtmek de mümkündür.
   </p>
   <p class="para">
    <div class="example" id="example-17">
     <p><strong>Örnek 17 - İsimli bağımsız değişkenlerle konumsal bağımsız değişkenleri birleştirmek
     </strong></p>
     <div class="example-contents">
      <div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />htmlspecialchars</span><span style="color: #007700">(</span><span style="color: #0000BB">$string</span><span style="color: #007700">, </span><span style="color: #0000BB">double_encode</span><span style="color: #007700">: </span><span style="color: #0000BB">false</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// Same as<br /></span><span style="color: #0000BB">htmlspecialchars</span><span style="color: #007700">(</span><span style="color: #0000BB">$string</span><span style="color: #007700">, </span><span style="color: #0000BB">ENT_QUOTES </span><span style="color: #007700">| </span><span style="color: #0000BB">ENT_SUBSTITUTE </span><span style="color: #007700">| </span><span style="color: #0000BB">ENT_HTML401</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">, </span><span style="color: #0000BB">false</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>

   <p class="para">
    Aynı bağımsız değişkeni birden fazla kullanmak bir <span class="classname"><a href="class.error.php" class="classname">Error</a></span>
    istisnasına yol açar.
   </p>
   <div class="example" id="example-18">
    <p><strong>Örnek 18 - Aynı bağımsız değişkenin birden fazla kullanımında
     <span class="classname"><a href="class.error.php" class="classname">Error</a></span> yavrulanması
    </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: #007700">function </span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #0000BB">$param</span><span style="color: #007700">) { ... }<br /></span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #0000BB">param</span><span style="color: #007700">: </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">param</span><span style="color: #007700">: </span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// Hata: $param isimli bağımsız değişkeni önceki bağımsız değişkeni geçersiz kılıyor<br /></span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">param</span><span style="color: #007700">: </span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// Hata: $param isimli bağımsız değişkeni önceki bağımsız değişkeni geçersiz kılıyor<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
   <p class="para">
    PHP 8.1.0 itibariyle, bağımsız değişken genişletmesinden sonra isimli bağımsız değişken
    kullanımına izin verilmektedir ancak, isimli bağımsız değişkenin genişletmedeki
    bağımsız değişkeni geçersiz kılmaması <em>gerekir</em>.
   </p>

   <div class="example" id="example-19">
    <p><strong>Örnek 19 - Genişletme sonrası isimli bağımsız değişken kullanımı</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: #007700">function </span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">, </span><span style="color: #0000BB">$c </span><span style="color: #007700">= </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #0000BB">$d </span><span style="color: #007700">= </span><span style="color: #0000BB">4</span><span style="color: #007700">) {<br />  return </span><span style="color: #0000BB">$a </span><span style="color: #007700">+ </span><span style="color: #0000BB">$b </span><span style="color: #007700">+ </span><span style="color: #0000BB">$c </span><span style="color: #007700">+ </span><span style="color: #0000BB">$d</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">foo</span><span style="color: #007700">(...[</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">], </span><span style="color: #0000BB">d</span><span style="color: #007700">: </span><span style="color: #0000BB">40</span><span style="color: #007700">)); </span><span style="color: #FF8000">// 46<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">foo</span><span style="color: #007700">(...[</span><span style="color: #DD0000">'b' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #DD0000">'a' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">1</span><span style="color: #007700">], </span><span style="color: #0000BB">d</span><span style="color: #007700">: </span><span style="color: #0000BB">40</span><span style="color: #007700">)); </span><span style="color: #FF8000">// 46<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">foo</span><span style="color: #007700">(...[</span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">], </span><span style="color: #0000BB">b</span><span style="color: #007700">: </span><span style="color: #0000BB">20</span><span style="color: #007700">)); </span><span style="color: #FF8000">// Ölümcül hata. İsimli bağımsız değişken $b, genişletmedekini geçersiz kılıyor<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>

   </div>
  </div><?php manual_footer($setup); ?>