function.array-diff-uassoc.html 9.21 KB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Berechnet den Unterschied von Arrays mit zus&auml;tzlicher Indexpr&uuml;fung,
     welche durch eine benutzerdefinierte Funktion vorgenommen wird</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.array-diff-key.html">array_diff_key</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.array-diff-ukey.html">array_diff_ukey</a></div>
 <div class="up"><a href="ref.array.html">Array Funktionen</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="function.array-diff-uassoc" class="refentry">
   <div class="refnamediv">
    <h1 class="refname">array_diff_uassoc</h1>
    <p class="verinfo">(PHP 5)</p><p class="refpurpose"><span class="refname">array_diff_uassoc</span> &mdash; <span class="dc-title">Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung,
     welche durch eine benutzerdefinierte Funktion vorgenommen wird</span></p>

   </div>
   <div class="refsect1 description" id="refsect1-function.array-diff-uassoc-description">
    <h3 class="title">Beschreibung</h3>
     <div class="methodsynopsis dc-description">
      <span class="type">array</span> <span class="methodname"><strong>array_diff_uassoc</strong></span>
       ( <span class="methodparam"><span class="type">array</span> <code class="parameter">$array1</code></span>
      , <span class="methodparam"><span class="type">array</span> <code class="parameter">$array2</code></span>
      [, <span class="methodparam"><span class="type">array</span> <code class="parameter">$...</code></span>
      ], <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.callback" class="type callback">callback</a></span> <code class="parameter">$key_compare_func</code></span>
      )</div>

    <p class="para rdfs-comment">
     <span class="function"><strong>array_diff_uassoc()</strong></span> gibt ein <span class="type"><a href="language.types.array.html" class="type array">array</a></span> zurück,
     welches alle Werte aus <code class="parameter">array1</code> enthält, die in keinem
     der anderen Argumente enthalten sind. Beachten Sie, dass die Schlüssel anders
     als von <span class="function"><a href="function.array-diff.html" class="function">array_diff()</a></span> in den Vergleich einbezogen werden.
    </p>
    <p class="para">
     Dieser Vergleich wird von einer benutzerdefinierten Callbackfunktion
     durchgeführt. Diese muss einen Integer kleiner als, genau gleich oder
     größer als Null zurückgeben, wenn das erste Argument entsprechend als
     kleiner, gleich oder größer als das Zweite betrachtet wird. Dies ist anders
     als <span class="function"><a href="function.array-diff-assoc.html" class="function">array_diff_assoc()</a></span>, in der eine eingebaute Funktion
     für den Vergleich der Indizes verwendet wird.
    </p>
    <p class="para">
     <div class="example" id="example-4899">
      <p><strong>Beispiel #1 <span class="function"><strong>array_diff_uassoc()</strong></span> Beispiel</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&nbsp;</span><span style="color: #0000BB">key_compare_func</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$b</span><span style="color: #007700">)&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$a&nbsp;</span><span style="color: #007700">===&nbsp;</span><span style="color: #0000BB">$b</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(</span><span style="color: #0000BB">$a&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">$b</span><span style="color: #007700">)?&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">:-</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$array1&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"a"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"gruen"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"b"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"braun"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"c"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"blau"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$array2&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"a"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"gruen"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"gelb"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_diff_uassoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$array1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$array2</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"key_compare_func"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
      </div>

      <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende
Ausgabe:</p></div>
      <div class="example-contents screen">
<div class="cdata"><pre>
Array
(
    [b] =&gt; braun
    [c] =&gt; blau
    [0] =&gt; rot
)
</pre></div>
      </div>
     </div>
    </p>
    <p class="simpara">
     In unserem obigen Beispiel sieht man dass das 
     <em>&quot;a&quot; =&gt; &quot;gruen&quot;</em> Paar in beiden Arrays enthalten ist
     und daher nicht in der Ausgabe der Funktion auftaucht. Andererseits ist das
     Paar <em>0 =&gt; &quot;rot&quot;</em> in der Ausgabe, weil 
     <em>&quot;red&quot;</em> im zweiten Argument einen Schlüsselwert von
     <em>1</em> enthält.
    </p>
    <p class="simpara">
     Die Gleichheit von zwei Indizes wird von einer benutzerdefinierten 
     Callbackfunktion überprüft.
    </p>
    <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
     <span class="simpara">
      Bitte beachten Sie, dass diese Funktion nur eine Dimension eines
      n-dimensionalen Arrays prüft. Natürlich kann man tiefere Dimensionen
      überprüfen, indem man zum Beispiel
      <em>array_diff_uassoc($array1[0], $array2[0], &quot;key_compare_func&quot;);</em>
      verwendet.
     </span>
    </p></blockquote>
    <p class="para">
     Siehe auch
     <span class="function"><a href="function.array-diff.html" class="function">array_diff()</a></span>,
     <span class="function"><a href="function.array-diff-assoc.html" class="function">array_diff_assoc()</a></span>,
     <span class="function"><a href="function.array-udiff.html" class="function">array_udiff()</a></span>,
     <span class="function"><a href="function.array-udiff-assoc.html" class="function">array_udiff_assoc()</a></span>, 
     <span class="function"><a href="function.array-udiff-uassoc.html" class="function">array_udiff_uassoc()</a></span>, 
     <span class="function"><a href="function.array-intersect.html" class="function">array_intersect()</a></span>,  
     <span class="function"><a href="function.array-intersect-assoc.html" class="function">array_intersect_assoc()</a></span>,
     <span class="function"><a href="function.array-uintersect.html" class="function">array_uintersect()</a></span>,  
     <span class="function"><a href="function.array-uintersect-assoc.html" class="function">array_uintersect_assoc()</a></span> und 
     <span class="function"><a href="function.array-uintersect-uassoc.html" class="function">array_uintersect_uassoc()</a></span>.
    </p>
   </div>

  </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.array-diff-key.html">array_diff_key</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.array-diff-ukey.html">array_diff_ukey</a></div>
 <div class="up"><a href="ref.array.html">Array Funktionen</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>