com doc/tr: update for sync with English docs.: language/types/array.xml reference/array/functions/array-reduce.xml reference/array/functions/array-replace-recursive.xml reference/array/functions/array-replace.xml reference/array/functions/array-reverse.xml reference/array/functions/array-shift.xml reference/array/functions/array-slice.xml reference/array/functions/array-splice.xml reference/array/functions/array-sum.xml reference/array/functions

[email protected] (Nilgün Belma Bugüner) Fri, 12 Mar 2021 13:25:57 +0000
Newsgroups php.doc.tr
Message-ID <[email protected]>
Commit:    bef7b435b907b355769897793f51f554ff3705db
Author:    Nilgün Belma Bugüner <[email protected]>         Fri, 12 Mar 2021 16:25:57 +0300
Parents:   234ed59216abf929173afc15952dd960c01daf54
Branches:  master

Link:       http://git.php.net/?p=doc/tr.git;a=commitdiff;h=bef7b435b907b355769897793f51f554ff3705db

Log:
update for sync with English docs.

Changed paths:
  M  language/types/array.xml
  M  reference/array/functions/array-reduce.xml
  M  reference/array/functions/array-replace-recursive.xml
  M  reference/array/functions/array-replace.xml
  M  reference/array/functions/array-reverse.xml
  M  reference/array/functions/array-shift.xml
  M  reference/array/functions/array-slice.xml
  M  reference/array/functions/array-splice.xml
  M  reference/array/functions/array-sum.xml
  M  reference/array/functions/array-udiff-assoc.xml
  M  reference/array/functions/array-udiff-uassoc.xml
  M  reference/array/functions/array-udiff.xml
diff_bef7b435b907b355769897793f51f554ff3705db.txt (text/plain, 46.7 KB)
diff --git a/language/types/array.xml b/language/types/array.xml
index 0542f339..3ddbc28c 100644
--- a/language/types/array.xml
+++ b/language/types/array.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 6de2e5772f11997fb9a8c0fa2406fbb2c73b3579 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 529359031bc69c5f635a459ae3891df4b8dc8df9 Maintainer: nilgun Status: ready -->
 <sect1 xml:id="language.types.array">
  <title><code>array</code></title>
 
@@ -272,6 +272,55 @@ array(4) {
      <literal>6</literal> olmasıdır.
     </para>
    </example>
+
+   <example>
+    <title>- Karmaşık Tür Çarpıtma ve Geçersizleştirme örneği</title>
+    <para>
+     Bu örnekte anahtarlar üzerinde tür çarpıtmanın ve öğelerin üzerine
+     yazılmasının tüm çeşitleri gösterilmiştir.
+    </para>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$array = array(
+    1    => "a",
+    "1"  => "b", // "a" değeri "b" ile geçersiz olur
+    1.5  => "c", // "b" değeri "c" ile geçersiz olur
+    -1 => 'd',
+    "01"  => "e",
+    true => "f", // "c" değeri "f" ile geçersiz olur
+    false => 'g',
+    '' => 'h',
+    null => 'i', // "h" değeri "i" ile geçersiz olur
+    'j', // "j" değeri 2. anahtara atanmıştır.
+         // Çünkü 2'den küçük en büyük tamsayı değer 1'dir
+    2 => 'k', // "j" değeri "k" ile geçersiz olur
+);
+
+var_dump($array);
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+array(6) {
+  [1]=>
+  string(1) "f"
+  [-1]=>
+  string(1) "d"
+  ["01"]=>
+  string(1) "e"
+  [0]=>
+  string(1) "g"
+  [""]=>
+  string(1) "i"
+  [2]=>
+  string(1) "k"
+}
+]]>
+    </screen>
+   </example>
   </sect3>
 
   <sect3 xml:id="language.types.array.syntax.accessing">
@@ -795,9 +844,45 @@ $error_descriptions[8] = "Bu sadece bilgilendirici bir uyarı";
    elemanları nesnenin üyeleri olan bir dizi ile sonuçlanır. Anahtarlar, bir
    kaç istisnai durum dışında üyelerin isimleridir: Tamsayı özellikler
    erişilebilir değildir; <literal>private</literal> değişkenlerin önüne sınıf
-   isimleri getirilir; <literal>public</literal> değişkenlerin önünde bir '*' olur.
-   Diğer taraftan, başlarına birşeyler eklenmiş böyle değişkenlerin değerleri
-   &null; olur. Bu durum beklenmedik davranışlara yol açabilir:
+   isimleri getirilir; <literal>public</literal> değişkenlerin önünde bir
+   '*' olur. Diğer taraftan, başlarına birşeyler eklenmiş böyle değişkenlerin
+   değerleri &null; olur.
+  </para>
+
+  <informalexample>
+   <programlisting role="php">
+    <![CDATA[
+<?php
+
+class A {
+    private $B;
+    protected $C;
+    public $D;
+    function __construct()
+    {
+        $this->{1} = null;
+    }
+}
+
+var_export((array) new A());
+?>
+]]>
+   </programlisting>
+   &example.outputs;
+   <screen>
+    <![CDATA[
+array (
+  '' . "\0" . 'A' . "\0" . 'B' => NULL,
+  '' . "\0" . '*' . "\0" . 'C' => NULL,
+  'D' => NULL,
+  1 => NULL,
+)
+]]>
+   </screen>
+  </informalexample>
+
+  <para>
+   Bu durum beklenmedik davranışlara yol açabilir:
   </para>
 
   <informalexample>
@@ -818,6 +903,19 @@ var_dump((array) new B());
 ?>
 ]]>
    </programlisting>
+   &example.outputs;
+   <screen>
+    <![CDATA[
+array(3) {
+  ["BA"]=>
+  NULL
+  ["AA"]=>
+  NULL
+  ["AA"]=>
+  NULL
+}
+]]>
+   </screen>
   </informalexample>
 
   <para>
diff --git a/reference/array/functions/array-reduce.xml b/reference/array/functions/array-reduce.xml
index 56d7cfe1..a1e1d7cd 100644
--- a/reference/array/functions/array-reduce.xml
+++ b/reference/array/functions/array-reduce.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 7f569e1f175adf1fbd0e462eba8d6bc82214c939 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-reduce" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_reduce</refname>
@@ -13,7 +13,7 @@
    <type>mixed</type><methodname>array_reduce</methodname>
    <methodparam><type>array</type><parameter>girdi</parameter></methodparam>
    <methodparam><type>callback</type><parameter>işlev</parameter></methodparam>
-   <methodparam choice="opt"><type>int</type><parameter>ilk_değer</parameter></methodparam>
+   <methodparam choice="opt"><type>mixed</type><parameter>ilk_değer</parameter><initializer>&null;</initializer></methodparam>
   </methodsynopsis>
   <para>
    <function>array_reduce</function> işlevi <parameter>işlev</parameter>
@@ -36,9 +36,30 @@
     <varlistentry>
      <term><parameter>işlev</parameter></term>
      <listitem>
-      <para>
-       Geriçağırım işlevi.
-      </para>
+      <methodsynopsis>
+       <type>mixed</type><methodname><replaceable>işlev</replaceable></methodname>
+       <methodparam><type>mixed</type><parameter>önceki</parameter></methodparam>
+       <methodparam><type>mixed</type><parameter>şimdiki</parameter></methodparam>
+      </methodsynopsis>
+      <variablelist>
+       <varlistentry>
+        <term><parameter>önceki</parameter></term>
+        <listitem>
+         <para>
+          Önceki yinelemenin dönüş değerini tutar. İlk yineleme için
+          <parameter>ilk_değer</parameter>'in değeridir.
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term><parameter>şimdiki</parameter></term>
+        <listitem>
+         <para>
+          Geçerli yinelemenin değerini tutar.
+         </para>
+        </listitem>
+       </varlistentry>
+      </variablelist>
      </listitem>
     </varlistentry>
     <varlistentry>
@@ -47,8 +68,8 @@
       <para>
        Seçimlik <parameter>ilk_değer</parameter> değiştirgesi verilmişse ve
        dizi boşsa işlevin dönüş değeri <parameter>ilk_değer</parameter>  olur,
-       aksi takdirde işleme sokulan ilk değer belirtilen
-       <parameter>ilk_değer</parameter> olur.
+       aksi takdirde <parameter>ilk_değer</parameter> işleme sokulan ilk değer
+       olur.
       </para>
      </listitem>
     </varlistentry>
@@ -73,31 +94,26 @@
     <programlisting role="php">
 <![CDATA[
 <?php
-function rsum($v, $w)
+function topla($önceki, $şimdiki)
 {
-    $v += $w;
-    return $v;
+    $önceki += $şimdiki;
+    return $önceki;
 }
 
-function rmul($v, $w)
+function çarp($önceki, $şimdiki)
 {
-    $v *= $w;
-    return $v;
+    $önceki *= $şimdiki;
+    return $önceki;
 }
 
 $a = array(1, 2, 3, 4, 5);
 $x = array();
-$b = array_reduce($a, "rsum");
-$c = array_reduce($a, "rmul", 10);
-$d = array_reduce($x, "rsum", 1);
+var_dump(array_reduce($a, "topla")); // int(15)
+var_dump(array_reduce($a, "çarp", 10)); // int(1200), çünkü: 10*1*2*3*4*5
+var_dump(array_reduce($x, "topla", "Yeterli veri yok ")); // string(17) "Yeterli veri yok "
 ?>
 ]]>
     </programlisting>
-    <para>
-     İşlem sonucunda <varname>$b</varname> <literal>15</literal>,
-     <varname>$c</varname> ise <literal>1200</literal> (= 10*1*2*3*4*5)
-     değerini içerirken <varname>$d</varname> <literal>1</literal> içerir.
-    </para>
    </example>
   </para>
  </refsect1>
diff --git a/reference/array/functions/array-replace-recursive.xml b/reference/array/functions/array-replace-recursive.xml
index 792315fc..8def6971 100644
--- a/reference/array/functions/array-replace-recursive.xml
+++ b/reference/array/functions/array-replace-recursive.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: cd943f94a013b74df8765ab8e1a620a916a64a85 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-replace-recursive" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_replace_recursive</refname>
@@ -11,10 +11,8 @@
   &reftitle.description;
   <methodsynopsis>
    <type>array</type><methodname>array_replace_recursive</methodname>
-   <methodparam><type>array</type><parameter role="reference">disi</parameter></methodparam>
-   <methodparam><type>array</type><parameter role="reference">dizi1</parameter></methodparam>
-   <methodparam choice="opt"><type>array</type><parameter role="reference">dizi2</parameter></methodparam>
-   <methodparam choice="opt"><type>array</type><parameter role="reference">...</parameter></methodparam>
+   <methodparam><type>array</type><parameter>dizi</parameter></methodparam>
+   <methodparam rep="repeat"><type>array</type><parameter>diziler</parameter></methodparam>
   </methodsynopsis>
   <para>
    <parameter>dizi</parameter> dizisinin değerlerini belirtilen diğer
@@ -48,10 +46,10 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>dizi1</parameter></term>
+     <term><parameter>diziler</parameter></term>
      <listitem>
       <para>
-       İlk diziyi güncelleyecek dizi.
+       İlk diziyi güncelleyecek diziler.
       </para>
      </listitem>
     </varlistentry>
@@ -168,6 +166,7 @@ Array
   <para>
    <simplelist>
     <member><function>array_replace</function></member>
+    <member><function>array_merge_recursive</function></member>
    </simplelist>
   </para>
  </refsect1>
diff --git a/reference/array/functions/array-replace.xml b/reference/array/functions/array-replace.xml
index bfde94cc..6236b22d 100644
--- a/reference/array/functions/array-replace.xml
+++ b/reference/array/functions/array-replace.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: cd943f94a013b74df8765ab8e1a620a916a64a85 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-replace" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_replace</refname>
@@ -11,10 +11,8 @@
   &reftitle.description;
   <methodsynopsis>
    <type>array</type><methodname>array_replace</methodname>
-   <methodparam><type>array</type><parameter role="reference">dizi</parameter></methodparam>
-   <methodparam><type>array</type><parameter role="reference">dizi1</parameter></methodparam>
-   <methodparam choice="opt"><type>array</type><parameter role="reference">dizi2</parameter></methodparam>
-   <methodparam choice="opt"><type>array</type><parameter role="reference">...</parameter></methodparam>
+   <methodparam><type>array</type><parameter>dizi</parameter></methodparam>
+   <methodparam rep="repeat"><type>array</type><parameter>diziler</parameter></methodparam>
   </methodsynopsis>
   <para>
    <parameter>dizi</parameter> dizisinin değerlerini belirtilen diğer
@@ -22,7 +20,7 @@
    mevcutsa ilk dizideki değer ikinciden güncellenir. İkinci dizide olup ilk
    dizide olmayan anahtarlar ilk dizide oluşturulur. Sadece ilk dizide
    bulunan anahtarların değerlerine dokunulmaz. Birden fazla güncelleyici
-   dizi belirtilmişse diziler sırayla işlenir; yani daima sonraki dizideki
+   dizi belirtilmişse diziler sırayla işlenir; yani sonraki dizideki
    değerler daima üste yazar.
   </para>
   <para>
@@ -43,10 +41,11 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>dizi1</parameter></term>
+     <term><parameter>diziler</parameter></term>
      <listitem>
       <para>
-       İlk diziyi güncelleyecek dizi.
+       İlk diziyi güncelleyecek diziler. Sonraki dizilerin değerleri
+       öncekilerin değerlerini geçersiz kılar.
       </para>
      </listitem>
     </varlistentry>
@@ -69,7 +68,7 @@
 <?php
 $esas = array("portakal", "muz", "elma", "armut");
 $ikame = array(0 => "karpuz", 4 => "kavun");
-$ikame2 = array(0 => "dondurma");
+$ikame2 = array(0 => "kiraz");
 
 $sepet = array_replace($esas, $ikame, $ikame2);
 print_r($sepet);
@@ -81,11 +80,11 @@ print_r($sepet);
 <![CDATA[
 Array
 (
-    [0] => ahududu
+    [0] => kiraz
     [1] => muz
     [2] => elma
     [3] => armut
-    [4] => dondurma
+    [4] => kavun
 )
 ]]>
     </screen>
@@ -97,6 +96,7 @@ Array
   <para>
    <simplelist>
     <member><function>array_replace_recursive</function></member>
+    <member><function>array_merge</function></member>
    </simplelist>
   </para>
  </refsect1>
diff --git a/reference/array/functions/array-reverse.xml b/reference/array/functions/array-reverse.xml
index 60004cf0..b72d2d68 100644
--- a/reference/array/functions/array-reverse.xml
+++ b/reference/array/functions/array-reverse.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: b8758b0605e80c4e3610137b7502a6abeea5c69b Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-reverse" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_reverse</refname>
@@ -11,7 +11,7 @@
   <methodsynopsis>
    <type>array</type><methodname>array_reverse</methodname>
    <methodparam><type>array</type><parameter>dizi</parameter></methodparam>
-   <methodparam choice="opt"><type>bool</type><parameter>anahtarları_koru</parameter><initializer>false</initializer></methodparam>
+   <methodparam choice="opt"><type>bool</type><parameter>anahtarları_koru</parameter><initializer>&false;</initializer></methodparam>
   </methodsynopsis>
   <para>
    Belirtilen <parameter>dizi</parameter> dizisini alıp elemanlarını tersine
@@ -34,7 +34,8 @@
      <term><parameter>anahtarları_koru</parameter></term>
      <listitem>
       <para>
-       &true; belirtilirse dizideki anahtarlar korunur.
+       &true; belirtilirse dizideki sayısal anahtarlar korunur. Sayısal olmayan
+       anahtarlar bu ayardan etkilenmez ve daima korunur.
       </para>
      </listitem>
     </varlistentry>
@@ -47,29 +48,6 @@
    Tersine sıralanmış diziyi döndürür.
   </para>
  </refsect1>
- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description;</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>4.0.3</entry>
-       <entry>
-        <parameter>anahtarları_koru</parameter> değiştirgesi eklendi.
-       </entry>
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
-  </para>
- </refsect1>
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
@@ -79,19 +57,30 @@
 <![CDATA[
 <?php
 $girdi  = array("php", 4.0, array("green", "red"));
-$sonuç = array_reverse($girdi);
-$anahtarlı_sonuç = array_reverse($girdi, true);
+$normal = array_reverse($girdi);
+$korunan = array_reverse($girdi, true);
+
+print_r($girdi);
+print_r($normal);
+print_r($korunan);
+ ?>
 ?>
 ]]>
     </programlisting>
-    <para>
-     Burada <varname>$sonuç</varname> ve <varname>$anahtarlı_sonuç</varname>
-     aynı elemanları içerir, sadece anahtarları farklıdır.
-     <varname>$sonuç</varname> ve <varname>$anahtarlı_sonuç</varname>
-     dizilerinin çıktısı şöyle olur::
-    </para>
-    <screen role="php">
-<![CDATA[
+    &example.outputs;
+     <screen role="php">
+ <![CDATA[
+Array
+(
+    [0] => php
+    [1] => 4
+    [2] => Array
+        (
+            [0] => green
+            [1] => red
+        )
+
+)
 Array
 (
     [0] => Array
diff --git a/reference/array/functions/array-shift.xml b/reference/array/functions/array-shift.xml
index ebef0c32..a987e1c5 100644
--- a/reference/array/functions/array-shift.xml
+++ b/reference/array/functions/array-shift.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: aba94933258b1d1ce9fa5935a239804d71a481fa Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-shift" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_shift</refname>
@@ -15,8 +15,8 @@
   <para>
    <function>array_shift</function> işlevi <parameter>deste</parameter>
    dizisinin ilk elemanını çekip döndürürken diziden o elemanı eksiltip diziyi
-   yeniden indisler. Dizgesel anahtarlara dokunulmazken sayısal anahtarlar
-   sıfırdan başlayarak yeniden oluşturulur.
+   yeniden indisler. Sayısal anahtarlar sıfırdan başlayarak yeniden
+   oluşturulurken sayısal olmayan anahtarlar bundan etkilenmez.
   </para>
   &array.resetspointer;
  </refsect1>
diff --git a/reference/array/functions/array-slice.xml b/reference/array/functions/array-slice.xml
index 035f631a..39c75561 100644
--- a/reference/array/functions/array-slice.xml
+++ b/reference/array/functions/array-slice.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: cd943f94a013b74df8765ab8e1a620a916a64a85 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-slice" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_slice</refname>
@@ -12,15 +12,14 @@
    <type>array</type><methodname>array_slice</methodname>
    <methodparam><type>array</type><parameter>girdi</parameter></methodparam>
    <methodparam><type>int</type><parameter>başlangıç</parameter></methodparam>
-   <methodparam choice="opt"><type>int</type><parameter>uzunluk</parameter></methodparam>
-   <methodparam choice="opt"><type>bool</type><parameter>indisleri_koru</parameter><initializer>false</initializer></methodparam>
+   <methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>uzunluk</parameter><initializer>&null;</initializer></methodparam>
+   <methodparam choice="opt"><type>bool</type><parameter>indisleri_koru</parameter><initializer>&false;</initializer></methodparam>
   </methodsynopsis>
   <para>
    <function>array_slice</function> işlevi <parameter>girdi</parameter>
    dizisinin <parameter>başlangıç</parameter>'tan itibaren
    <parameter>uzunluk</parameter> sayıda elemanından oluşan bir dizi ile döner.
   </para>
-  &array.resetspointer;
  </refsect1>
  <refsect1 role="parameters">
   &reftitle.parameters;
@@ -40,33 +39,53 @@
       <para>
        <parameter>başlangıç</parameter> pozitif bir değerse silinecek kısmın
        başlangıcı <parameter>girdi</parameter> dizisinin başlangıcından
-       itibaren sayılır. Negatif bir değerse <parameter>girdi</parameter>
+       itibaren sayılır.
+      </para>
+      <para>
+       Negatif bir değerse <parameter>girdi</parameter>
        dizisinin sonundan itibaren sayılır.
       </para>
+      <note>
+       <para>
+        <parameter>başlangıç</parameter> bir anahtar değil,
+        dizideki bir konumu belirtir.
+       </para>
+      </note>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term><parameter>uzunluk</parameter></term>
      <listitem>
       <para>
-       <parameter>uzunluk</parameter> verilmezse,
-       <parameter>başlangıç</parameter>'tan dizi sonuna kadar herşey silinir.
        Belirtilmişse ve pozitifse <parameter>başlangıç</parameter>'tan dizi
-       sonuna kadar belirtilen kadar eleman silinir. Belirtilmişse ve
-       negatifse <parameter>başlangıç</parameter>'tan dizi sonuna kadar, dizi
+       sonuna kadar <parameter>uzunluk</parameter> sayıda eleman silinir.
+      </para>
+      <para>
+       Dizinin eleman sayısı <parameter>uzunluk</parameter>'tan azsa sadece
+       mevcut elemanlarla işlem yapılır.
+      </para>
+      <para>
+       Negatifse <parameter>başlangıç</parameter>'tan dizi sonuna kadar, dizi
        sonundan belirtilen sayıda eleman hariç herşey silinir.
       </para>
+      <para>
+       <parameter>uzunluk</parameter> verilmezse,
+       <parameter>başlangıç</parameter>'tan dizi sonuna kadar herşey silinir.
+      </para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term><parameter>indisleri_koru</parameter></term>
      <listitem>
-      <para>
+      <note>
+       <para>
        <function>array_slice</function> öntanımlı olarak dizi indislerini
-       sıfırdan itbaren yeniden oluşturur. Bu davranışı
+       sıfırdan itbaren yeniden oluşturur.
        <parameter>indisleri_koru</parameter> değiştirgesinde &true; aktararak
-       değiştirebilirsiniz.
-      </para>
+       bu davranış değiştirilebilir. Bu değiştirgeye bakmaksızın, dizge
+       anahtarlar daima korunur.
+       </para>
+      </note>
      </listitem>
     </varlistentry>
    </variablelist>
@@ -75,30 +94,8 @@
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   Dizinin istenen parçasıyla döner.
-  </para>
- </refsect1>
-  <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description;</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>5.0.2</entry>
-       <entry>
-        İsteğe bağlı <parameter>preserve_keys</parameter> değiştirgesi eklendi.
-       </entry>
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
+   Dizinin istenen parçasıyla döner. <parameter>başlangıç</parameter> dizinin
+   eleman sayısından büyükse boş dizi döner.
   </para>
  </refsect1>
  <refsect1 role="examples">
@@ -138,11 +135,66 @@ Array
     </screen>
    </example>
   </para>
+  <para>
+   <example>
+    <title>- 1 indisiyle başlayan dizi</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$input = array(1 => "a", "b", "c", "d", "e");
+print_r(array_slice($input, 1, 2));
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+Array
+(
+    [0] => b
+    [1] => c
+)
+]]>
+    </screen>
+   </example>
+  </para>
+  <para>
+   <example>
+    <title>- Karışık anahtarlı dizi</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$ar = array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
+print_r(array_slice($ar, 0, 3));
+print_r(array_slice($ar, 0, 3, true));
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+Array
+(
+    [a] => apple
+    [b] => banana
+    [0] => pear
+)
+Array
+(
+    [a] => apple
+    [b] => banana
+    [42] => pear
+)
+]]>
+    </screen>
+   </example>
+  </para>
  </refsect1>
  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
    <simplelist>
+    <member><function>array_chunk</function></member>
     <member><function>array_splice</function></member>
     <member><function>unset</function></member>
    </simplelist>
diff --git a/reference/array/functions/array-splice.xml b/reference/array/functions/array-splice.xml
index 8f02919e..6502b5fa 100644
--- a/reference/array/functions/array-splice.xml
+++ b/reference/array/functions/array-splice.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: cd943f94a013b74df8765ab8e1a620a916a64a85 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-splice" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_splice</refname>
@@ -13,8 +13,8 @@
    <type>array</type><methodname>array_splice</methodname>
    <methodparam><type>array</type><parameter role="reference">girdi</parameter></methodparam>
    <methodparam><type>int</type><parameter>başlangıç</parameter></methodparam>
-   <methodparam choice="opt"><type>int</type><parameter>uzunluk</parameter><initializer>0</initializer></methodparam>
-   <methodparam choice="opt"><type>mixed</type><parameter>yenisi</parameter></methodparam>
+   <methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>uzunluk</parameter><initializer>&null;</initializer></methodparam>
+   <methodparam choice="opt"><type>mixed</type><parameter>yenisi</parameter><initializer>[]</initializer></methodparam>
   </methodsynopsis>
   <para>
    <parameter>girdi</parameter> dizisinin <parameter>başlangıç</parameter>
@@ -22,17 +22,18 @@
    ve belirtildiği takdirde, bunların yerlerine
    <parameter>yenisi</parameter>'ni yerleştirir.
   </para>
-  <para>
-   <parameter>girdi</parameter> içindeki sayısal indislerin korunacağına
-   dikkat edin.
-  </para>
+  <note>
+   <para>
+    <parameter>girdi</parameter> içindeki sayısal anahtarlar korunmaz.
+   </para>
+  </note>
   <note>
    <simpara>
     Eğer <parameter>yenisi</parameter> bir dizi değilse  <code>(array)
     $yenisi</code> şeklinde bir <link linkend="language.types.array.casting">
     tür dönüşümüne</link> tabi tutulacaktır. <parameter>yenisi</parameter>
-    olarak bir nesne belirttiğiniz takdirde bu durum beklenmedik sonuçlar
-    verebilir.
+    olarak bir nesne veya &null; belirttiğiniz takdirde bu durum beklenmedik
+    sonuçlar verebilir.
    </simpara>
   </note>
  </refsect1>
@@ -54,7 +55,10 @@
       <para>
        <parameter>başlangıç</parameter> pozitif bir değerse silinecek kısmın
        başlangıcı <parameter>girdi</parameter> dizisinin başlangıcından
-       itibaren sayılır. Negatif bir değerse <parameter>girdi</parameter>
+       itibaren sayılır.
+      </para>
+      <para>
+       Negatif bir değerse <parameter>girdi</parameter>
        dizisinin sonundan itibaren sayılır.
       </para>
      </listitem>
@@ -65,15 +69,24 @@
       <para>
        <parameter>uzunluk</parameter> verilmezse,
        <parameter>başlangıç</parameter>'tan dizi sonuna kadar herşey silinir.
+      </para>
+      <para>
        Belirtilmişse ve pozitifse <parameter>başlangıç</parameter>'tan dizi
-       sonuna kadar belirtilen kadar eleman silinir. Belirtilmişse ve
+       sonuna kadar belirtilen kadar eleman silinir.
+      </para>
+      <para>
+       Belirtilmişse ve
        negatifse <parameter>başlangıç</parameter>'tan dizi sonuna kadar, dizi
-       sonundan belirtilen sayıda eleman hariç herşey silinir. İpucu:
-       <parameter>başlangıç</parameter>'tan dizi sonuna kadar herşeyin
-       silindiği durumda <parameter>yenisi</parameter> de belirtilecekse
-       <parameter>uzunluk</parameter> için <literal>count($girdi)</literal>
-       ifadesini kullanın.
+       sonundan belirtilen sayıda eleman hariç herşey silinir.
       </para>
+      <tip>
+       <para>
+        <parameter>başlangıç</parameter>'tan dizi sonuna kadar herşeyin
+        silindiği durumda <parameter>yenisi</parameter> de belirtilecekse
+        <parameter>uzunluk</parameter> için <literal>count($girdi)</literal>
+        ifadesini kullanın.
+       </para>
+      </tip>
      </listitem>
     </varlistentry>
     <varlistentry>
@@ -87,14 +100,18 @@
        Eğer <parameter>başlangıç</parameter> ve <parameter>uzunluk</parameter>
        ile hiçbir şey silinmiyorsa <parameter>yenisi</parameter> dizisi
        <parameter>başlangıç</parameter> konumunda dizi elemanlarının arasına
-       yerleştirilir. Yerleştirme sırasında <parameter>yenisi</parameter>
-       dizisinden değerlerin anahtarlarıyla değil tek başlarına aktarılacağını
-       unutmayın.
+       yerleştirilir.
       </para>
+      <note>
+       <para>
+        Yerleştirme sırasında <parameter>yenisi</parameter>
+        dizisindeki anahtarlar korunmaz.
+       </para>
+      </note>
       <para>
        Eğer <parameter>yenisi</parameter> tek bir elemandan ibaretse ve bir
-       dizi değilse değeri <literal>array()</literal> ile dizi olarak
-       belirtmek gerekli değildir.
+       dizi, nesne veya  &null; değilse değeri <literal>array()</literal> veya
+       köşeli parantezlerle sarmalamak gerekli değildir.
       </para>
      </listitem>
     </varlistentry>
@@ -107,6 +124,27 @@
    Diziden kaldırılan elemanlardan oluşan bir dizi ile döner.
   </para>
  </refsect1>
+ <refsect1 role="changelog">
+  &reftitle.changelog;
+  <informaltable>
+   <tgroup cols="2">
+    <thead>
+     <row>
+      <entry>&Version;</entry>
+      <entry>&Description;</entry>
+     </row>
+    </thead>
+    <tbody>
+     <row>
+      <entry>8.0.0</entry>
+      <entry>
+       <parameter>uzunluk</parameter> artık boş olabiliyor.
+      </entry>
+     </row>
+    </tbody>
+   </tgroup>
+  </informaltable>
+ </refsect1>
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
@@ -117,47 +155,93 @@
 <?php
 $input = array("red", "green", "blue", "yellow");
 array_splice($input, 2);
-// $input = array("red", "green")
+var_dump($input);
 
 $input = array("red", "green", "blue", "yellow");
 array_splice($input, 1, -1);
-// $input = array("red", "yellow")
+var_dump($input);
 
 $input = array("red", "green", "blue", "yellow");
 array_splice($input, 1, count($input), "orange");
-// $input = array("red", "orange")
+var_dump($input);
 
 $input = array("red", "green", "blue", "yellow");
 array_splice($input, -1, 1, array("black", "maroon"));
-// $input = array("red", "green", "blue", "black", "maroon")
+var_dump($input);
 
 $input = array("red", "green", "blue", "yellow");
 array_splice($input, 3, 0, "purple");
-// $input = array("red", "green", "blue", "purple", "yellow");
+var_dump($input);
 ?>
 ]]>
     </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+array(2) {
+  [0]=>
+  string(3) "red"
+  [1]=>
+  string(5) "green"
+}
+array(2) {
+  [0]=>
+  string(3) "red"
+  [1]=>
+  string(6) "yellow"
+}
+array(2) {
+  [0]=>
+  string(3) "red"
+  [1]=>
+  string(6) "orange"
+}
+array(5) {
+  [0]=>
+  string(3) "red"
+  [1]=>
+  string(5) "green"
+  [2]=>
+  string(4) "blue"
+  [3]=>
+  string(5) "black"
+  [4]=>
+  string(6) "maroon"
+}
+]]>
+    </screen>
    </example>
   </para>
   <para>
    <example>
-    <title>- <function>array_splice</function> örnekleri</title>
+    <title>- <function>array_splice</function> ve eşdeğerlerine örnekler</title>
     <para>
-     Aşağıdaki deyimler <varname>$input</varname> değerlerini aynı şekilde değiştirir:
+     Aşağıdaki deyimler eşdeğerdir:
     </para>
     <programlisting role="php">
 <![CDATA[
 <?php
+
+// $input'a iki elemen ekle
 array_push($input, $x, $y);
 array_splice($input, count($input), 0, array($x, $y));
+
+// $input'un son elemanını sil
 array_pop($input);
 array_splice($input, -1);
+
+// $input'un ilk elemanını sil
 array_shift($input);
 array_splice($input, 0, 1);
+
+// $input'un başına bir eleman ekle
 array_unshift($input, $x, $y);
 array_splice($input, 0, 0, array($x, $y));
-$input[$x] = $y; // for arrays where key equals offset
+
+// $input'un $x indisindeki değerini değiştir
+$input[$x] = $y; // anahtarlarla konumların aynı olduğu durumda
 array_splice($input, $x, 1, $y);
+
 ?>
 ]]>
     </programlisting>
@@ -168,9 +252,9 @@ array_splice($input, $x, 1, $y);
   &reftitle.seealso;
   <para>
    <simplelist>
+    <member><function>array_merge</function></member>
     <member><function>array_slice</function></member>
     <member><function>unset</function></member>
-    <member><function>array_merge</function></member>
    </simplelist>
   </para>
  </refsect1>
diff --git a/reference/array/functions/array-sum.xml b/reference/array/functions/array-sum.xml
index 9d67688c..543e7eba 100644
--- a/reference/array/functions/array-sum.xml
+++ b/reference/array/functions/array-sum.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: eb0bd932eb5d90370d2e6c277cca5f6b75645c85 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-sum" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_sum</refname>
@@ -9,7 +9,7 @@
  <refsect1 role="description">
   &reftitle.description;
   <methodsynopsis>
-   <type>number</type><methodname>array_sum</methodname>
+    <type class="union"><type>int</type><type>float</type></type><methodname>array_sum</methodname>
    <methodparam><type>array</type><parameter>dizi</parameter></methodparam>
   </methodsynopsis>
   <para>
@@ -36,31 +36,7 @@
   &reftitle.returnvalues;
   <para>
    Toplam bir tamsayı veya gerçek sayı olarak döner.
-  </para>
- </refsect1>
- <refsect1 role="changelog">
-  &reftitle.changelog;
-  <para>
-   <informaltable>
-    <tgroup cols="2">
-     <thead>
-      <row>
-       <entry>&Version;</entry>
-       <entry>&Description;</entry>
-      </row>
-     </thead>
-     <tbody>
-      <row>
-       <entry>4.2.1</entry>
-       <entry>
-        PHP'nin 4.2.1'den önceki sürümlerinde dizgeler sayılara dönüştürülerek
-        aktarılan dizinin kendisi değiştirilirdi (çoğu zaman değerlerine bağlı
-        olarak sıfıra dönüştürülürlerdi).
-       </entry>
-      </row>
-     </tbody>
-    </tgroup>
-   </informaltable>
+   <parameter>dizi</parameter> boşsa <literal>0</literal> döner.
   </para>
  </refsect1>
  <refsect1 role="examples">
diff --git a/reference/array/functions/array-udiff-assoc.xml b/reference/array/functions/array-udiff-assoc.xml
index 81c172a9..88805d38 100644
--- a/reference/array/functions/array-udiff-assoc.xml
+++ b/reference/array/functions/array-udiff-assoc.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9e0f03ac354d797d1d16c0fcc1663e5e170f2727 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-udiff-assoc" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_udiff_assoc</refname>
@@ -12,10 +12,9 @@
   &reftitle.description;
   <methodsynopsis>
    <type>array</type><methodname>array_udiff_assoc</methodname>
-   <methodparam><type>array</type><parameter>dizi1</parameter></methodparam>
-   <methodparam><type>array</type><parameter>dizi2</parameter></methodparam>
-   <methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
-   <methodparam><type>callback</type><parameter>veri_karş_işlevi</parameter></methodparam>
+   <methodparam><type>array</type><parameter>dizi</parameter></methodparam>
+   <methodparam rep="repeat"><type>array</type><parameter>diziler</parameter></methodparam>
+   <methodparam><type>callable</type><parameter>değer_karş_işlevi</parameter></methodparam>
   </methodsynopsis>
   <para>
    Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler
@@ -35,7 +34,7 @@
   <para>
    <variablelist>
     <varlistentry>
-     <term><parameter>dizi1</parameter></term>
+     <term><parameter>dizi</parameter></term>
      <listitem>
       <para>
        İlk dizi.
@@ -43,25 +42,20 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>dizi2</parameter></term>
+     <term><parameter>diziler</parameter></term>
      <listitem>
       <para>
-       İkinci dizi.
+       Karşılaştırılacak diziler.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>veri_karş_işlevi</parameter></term>
+     <term><parameter>değer_karş_işlevi</parameter></term>
      <listitem>
       <para>
-       Veri karşılaştırması için geriçağırım işlevi.
-      </para>
-      <para>
-       Kullanıcı tarafından sağlanır. Dizi değerlerinin aktarılacağı iki
-       değiştirge kabul etmelidir. Birinci değiştirgenin ikinciden büyük,
-       küçük veya ona eşit olduğu durumlarda sırayla sıfırdan büyük, sıfırdan
-       küçük bir değer veya sıfır döndürmelidir.
+       &return.callbacksort;
       </para>
+      &callback.cmp;
      </listitem>
     </varlistentry>
    </variablelist>
@@ -71,7 +65,7 @@
   &reftitle.returnvalues;
   <para>
    Diğer değiştirgelerin hiçbirinde mevcut olmayan tüm
-   <parameter>dizi1</parameter> değerlerini içeren bir dizi ile döner.
+   <parameter>dizi</parameter> değerlerini içeren bir dizi ile döner.
    Karşılaştırmada <function>array_diff</function> ve
    <function>array_udiff</function> işlevlerinden farklı olarak anahtarlar
    kullanılır. Verilerin karşılaştırması kullanıcı tarafından tanımlanmış
diff --git a/reference/array/functions/array-udiff-uassoc.xml b/reference/array/functions/array-udiff-uassoc.xml
index 27363389..b5ee90ec 100644
--- a/reference/array/functions/array-udiff-uassoc.xml
+++ b/reference/array/functions/array-udiff-uassoc.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9e0f03ac354d797d1d16c0fcc1663e5e170f2727 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-udiff-uassoc" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_udiff_uassoc</refname>
@@ -12,11 +12,10 @@
   &reftitle.description;
   <methodsynopsis>
    <type>array</type><methodname>array_udiff_uassoc</methodname>
-   <methodparam><type>array</type><parameter>dizi1</parameter></methodparam>
-   <methodparam><type>array</type><parameter>dizi2</parameter></methodparam>
-   <methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
-   <methodparam><type>callback</type><parameter>veri_karş_işlevi</parameter></methodparam>
-   <methodparam><type>callback</type><parameter>anh_karş_işlevi</parameter></methodparam>
+   <methodparam><type>array</type><parameter>dizi</parameter></methodparam>
+   <methodparam rep="repeat"><type>array</type><parameter>diziler</parameter></methodparam>
+   <methodparam><type>callable</type><parameter>değer_karş_işlevi</parameter></methodparam>
+   <methodparam><type>callable</type><parameter>anh_karş_işlevi</parameter></methodparam>
   </methodsynopsis>
   <para>
    Veri ve indis karşılaştırması için bir geriçağırım işlevi
@@ -33,7 +32,7 @@
   <para>
    <variablelist>
     <varlistentry>
-     <term><parameter>dizi1</parameter></term>
+     <term><parameter>dizi</parameter></term>
      <listitem>
       <para>
        İlk dizi.
@@ -41,30 +40,20 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>dizi2</parameter></term>
+     <term><parameter>diziler</parameter></term>
      <listitem>
       <para>
-       İkinci dizi.
+       Karşılaştırılacak diziler.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>veri_karş_işlevi</parameter></term>
+     <term><parameter>değer_karş_işlevi</parameter></term>
      <listitem>
       <para>
-       Veri karşılaştırması için geriçağırım işlevi.
-      </para>
-      <para>
-       Kullanıcı tarafından sağlanır. Dizi değerlerinin aktarılacağı iki
-       değiştirge kabul etmelidir. Birinci değiştirgenin ikinciden büyük,
-       küçük veya ona eşit olduğu durumlarda sırayla sıfırdan büyük, sıfırdan
-       küçük bir değer veya sıfır döndürmelidir.
-      </para>
-      <para>
-       Verileri karşılaştırmak için dahili bir işlev kullanan
-       <function>array_diff_assoc</function> işlevinden farklı olarak bu işlev
-       kullanıcı tanımlı bir işlev kullanır.
+       &return.callbacksort;
       </para>
+      &callback.cmp;
      </listitem>
     </varlistentry>
     <varlistentry>
@@ -85,7 +74,7 @@
   &reftitle.returnvalues;
   <para>
    Diğer değiştirgelerin hiçbirinde mevcut olmayan tüm
-   <parameter>dizi1</parameter> değerlerini içeren bir dizi ile döner.
+   <parameter>dizi</parameter> değerlerini içeren bir dizi ile döner.
   </para>
  </refsect1>
  <refsect1 role="examples">
diff --git a/reference/array/functions/array-udiff.xml b/reference/array/functions/array-udiff.xml
index 9925737b..c6a8a59c 100644
--- a/reference/array/functions/array-udiff.xml
+++ b/reference/array/functions/array-udiff.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: nilgun Status: ready -->
+<!-- EN-Revision: 9e0f03ac354d797d1d16c0fcc1663e5e170f2727 Maintainer: nilgun Status: ready -->
 <refentry xml:id="function.array-udiff" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>array_udiff</refname>
@@ -11,10 +11,9 @@
   &reftitle.description;
   <methodsynopsis>
    <type>array</type><methodname>array_udiff</methodname>
-   <methodparam><type>array</type><parameter>dizi1</parameter></methodparam>
-   <methodparam><type>array</type><parameter>dizi2</parameter></methodparam>
-   <methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
-   <methodparam><type>callback</type><parameter>veri_karş_işlevi</parameter></methodparam>
+   <methodparam><type>array</type><parameter>dizi</parameter></methodparam>
+   <methodparam rep="repeat"><type>array</type><parameter>diziler</parameter></methodparam>
+   <methodparam><type>callable</type><parameter>değer_karş_işlevi</parameter></methodparam>
   </methodsynopsis>
   <para>
    Veri karşılaştırması için dahili bir işlev kullanan
@@ -28,7 +27,7 @@
   <para>
    <variablelist>
     <varlistentry>
-     <term><parameter>dizi1</parameter></term>
+     <term><parameter>dizi</parameter></term>
      <listitem>
       <para>
        İlk dizi.
@@ -36,25 +35,20 @@
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>dizi2</parameter></term>
+     <term><parameter>diziler</parameter></term>
      <listitem>
       <para>
-       İkinci dizi.
+       Karşılaştırılacak diziler.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
-     <term><parameter>veri_karş_işlevi</parameter></term>
+     <term><parameter>değer_karş_işlevi</parameter></term>
      <listitem>
       <para>
-       Veri karşılaştırması için geriçağırım işlevi.
-      </para>
-      <para>
-       Kullanıcı tarafından sağlanır. Dizi değerlerinin aktarılacağı iki
-       değiştirge kabul etmelidir. Birinci değiştirgenin ikinciden büyük,
-       küçük veya ona eşit olduğu durumlarda sırayla sıfırdan büyük, sıfırdan
-       küçük bir değer veya sıfır döndürmelidir.
+       &return.callbacksort;
       </para>
+      &callback.cmp;
      </listitem>
     </varlistentry>
    </variablelist>
@@ -64,37 +58,48 @@
   &reftitle.returnvalues;
   <para>
    Diğer değiştirgelerin hiçbirinde mevcut olmayan tüm
-   <parameter>dizi1</parameter> değerlerini içeren bir dizi ile döner.
+   <parameter>dizi</parameter> değerlerini içeren bir dizi ile döner.
   </para>
  </refsect1>
  <refsect1 role="examples">
   &reftitle.examples;
   <para>
    <example>
-    <title>- <function>array_udiff</function> örneği</title>
+    <title>- stdClass nesneleri kullanılan <function>array_udiff</function> örneği</title>
     <programlisting role="php">
 <![CDATA[
 <?php
-class cr {
-    private $özel_üye;
-    function cr($val)
-    {
-        $this->özel_üye = $val;
-    }
+// Karşılaştırılacak diziler
+$array1 = array(new stdclass, new stdclass,
+                new stdclass, new stdclass,
+               );
+
+$array2 = array(
+                new stdclass, new stdclass,
+               );
+
+// Her nesneye özellik ata
+$array1[0]->width = 11; $array1[0]->height = 3;
+$array1[1]->width = 7;  $array1[1]->height = 1;
+$array1[2]->width = 2;  $array1[2]->height = 9;
+$array1[3]->width = 5;  $array1[3]->height = 7;
+
+$array2[0]->width = 7;  $array2[0]->height = 5;
+$array2[1]->width = 9;  $array2[1]->height = 2;
 
-    static function cr_karş_işlevi($a, $b)
-    {
-        if ($a->özel_üye === $b->özel_üye) return 0;
-        return ($a->özel_üye > $b->özel_üye)? 1:-1;
+function compare_by_area($a, $b) {
+    $areaA = $a->width * $a->height;
+    $areaB = $b->width * $b->height;
+
+    if ($areaA < $areaB) {
+        return -1;
+    } elseif ($areaA > $areaB) {
+        return 1;
+    } else {
+        return 0;
     }
 }
-$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23),
-               1 => new cr(4), 2 => new cr(-15),);
-$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3),
-               1 => new cr(4), 2 => new cr(-15),);
-
-$sonuç = array_udiff($a, $b, array("cr", "cr_karş_işlevi"));
-print_r($sonuç);
+print_r(array_udiff($array1, $array2, 'compare_by_area'));
 ?>
 ]]>
     </programlisting>
@@ -103,14 +108,16 @@ print_r($sonuç);
 <![CDATA[
 Array
 (
-    [0.5] => cr Object
-        (
-            [özel_üye:cr:private] => 12
-        )
+    [0] => stdClass Object
+         (
+            [width] => 11
+            [height] => 3
+         )
 
-    [0] => cr Object
-        (
-            [özel_üye:cr:private] => 23
+    [1] => stdClass Object
+         (
+            [width] => 7
+            [height] => 1
         )
 
 )
@@ -118,6 +125,89 @@ Array
     </screen>
    </example>
   </para>
+  <para>
+   <example>
+    <title>- DateTime nesneleri kullanılan <function>array_udiff</function> örneği</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+class MyCalendar {
+    public $free = array();
+    public $booked = array();
+
+    public function __construct($week = 'now') {
+        $start = new DateTime($week);
+        $start->modify('Monday this week midnight');
+        $end = clone $start;
+        $end->modify('Friday this week midnight');
+        $interval = new DateInterval('P1D');
+        foreach (new DatePeriod($start, $interval, $end) as $freeTime) {
+            $this->free[] = $freeTime;
+        }
+    }
+
+    public function bookAppointment(DateTime $date, $note) {
+        $this->booked[] = array('date' => $date->modify('midnight'), 'note' => $note);
+    }
+
+    public function checkAvailability() {
+        return array_udiff($this->free, $this->booked, array($this, 'customCompare'));
+    }
+
+    public function customCompare($free, $booked) {
+        if (is_array($free)) $a = $free['date'];
+        else $a = $free;
+        if (is_array($booked)) $b = $booked['date'];
+        else $b = $booked;
+        if ($a == $b) {
+            return 0;
+        } elseif ($a > $b) {
+            return 1;
+        } else {
+            return -1;
+        }
+    }
+}
+
+// Haftalık randevular için bir takvim oluştur
+$myCalendar = new MyCalendar;
+
+// Bu hafta için bazı randevular al
+$myCalendar->bookAppointment(new DateTime('Monday this week'), "Cleaning GoogleGuy's apartment.");
+$myCalendar->bookAppointment(new DateTime('Wednesday this week'), "Going on a snowboarding trip.");
+$myCalendar->bookAppointment(new DateTime('Friday this week'), "Fixing buggy code.");
+
+// $booked tarihleri $free tarihlerle karşılaştırarak günlerin uygunluğuna bak
+echo "I'm available on the following days this week...\n\n";
+foreach ($myCalendar->checkAvailability() as $free) {
+    echo $free->format('l'), "\n";
+}
+echo "\n\n";
+echo "I'm busy on the following days this week...\n\n";
+foreach ($myCalendar->booked as $booked) {
+    echo $booked['date']->format('l'), ": ", $booked['note'], "\n";
+}
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+I'm available on the following days this week...
+
+Tuesday
+Thursday
+
+
+I'm busy on the following days this week...
+
+Monday: Cleaning GoogleGuy's apartment.
+Wednesday: Going on a snowboarding trip.
+Friday: Fixing buggy code.
+]]>
+    </screen>
+   </example>
+  </para>
  </refsect1>
  <refsect1 role="notes">
   &reftitle.notes;