<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.array.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.array-uintersect-uassoc.php',
    1 => 'array_uintersect_uassoc',
    2 => 'Ermittelt die Schnittmenge von Arrays mit zus&auml;tzlicher Indexpr&uuml;fung, vergleicht Daten und Schl&uuml;ssel mittels separaten Callbackfunktionen',
  ),
  'up' => 
  array (
    0 => 'ref.array.php',
    1 => 'Array Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.array-uintersect-assoc.php',
    1 => 'array_uintersect_assoc',
  ),
  'next' => 
  array (
    0 => 'function.array-unique.php',
    1 => 'array_unique',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/array/functions/array-uintersect-uassoc.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.array-uintersect-uassoc" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">array_uintersect_uassoc</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">array_uintersect_uassoc</span> &mdash; <span class="dc-title">
   Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.array-uintersect-uassoc-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>array_uintersect_uassoc</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$array1</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">...$arrays</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$value_compare_func</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$key_compare_func</code></span><br>): <span class="type"><a href="language.types.array.php" class="type array">array</a></span></div>

  <p class="para rdfs-comment">
   Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung,
   vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.array-uintersect-uassoc-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">array1</code></dt>
     <dd>
      <p class="para">
       Das erste Array.
      </p>
     </dd>
    
    
     <dt><code class="parameter">arrays</code></dt>
     <dd>
      <p class="para">
       Weitere Arrays.
      </p>
     </dd>
    
    
     <dt><code class="parameter">value_compare_func</code></dt>
     <dd>
      <p class="para">
 Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.
</p>
<div class="methodsynopsis dc-description"><span class="methodname"><span class="replaceable">callback</span></span>(<span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$a</code></span>, <span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$b</code></span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

<div class="caution"><strong class="caution">Achtung</strong>
 <p class="para">
  Wenn die Vergleichsfunktion <em>nicht-ganzzahlige</em> Werte
  zurückgibt, z. B. vom Typ <span class="type"><a href="language.types.float.php" class="type float">float</a></span>, wird der Rückgabewert des
  Callbacks intern in den Typ <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> umgewandelt. Werte wie
  <code class="literal">0.99</code> und <code class="literal">0.1</code> werden also beide in
  einen Integer-Wert von <code class="literal">0</code> umgewandelt, wodurch diese Werte
  als gleichwertig eingestuft werden.
 </p>
</div>
      <div class="caution"><strong class="caution">Achtung</strong>
 <p class="para">
  Das Sortier-Callback muss alle Werte aus allen Arrays in beliebiger
  Reihenfolge verarbeiten, unabhängig von der Reihenfolge, in der sie
  ursprünglich bereitgestellt wurden. Das liegt daran, dass jedes einzelne
  Array zuerst sortiert wird, bevor es mit anderen Arrays verglichen wird.

  Zum Beispiel:
  <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$arrayA </span><span style="color: #007700">= [</span><span style="color: #DD0000">"string"</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">$arrayB </span><span style="color: #007700">= [[</span><span style="color: #DD0000">"value" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">1</span><span style="color: #007700">]];<br /></span><span style="color: #FF8000">// $item1 und $item2 können "string", 1 oder ["value" =&gt; 1] sein.<br /></span><span style="color: #0000BB">$compareFunc </span><span style="color: #007700">= static function (</span><span style="color: #0000BB">$item1</span><span style="color: #007700">, </span><span style="color: #0000BB">$item2</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$value1 </span><span style="color: #007700">= </span><span style="color: #0000BB">is_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$item1</span><span style="color: #007700">) ? </span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$item1</span><span style="color: #007700">) : (</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$item1</span><span style="color: #007700">) ? </span><span style="color: #0000BB">$item1</span><span style="color: #007700">[</span><span style="color: #DD0000">"value"</span><span style="color: #007700">] : </span><span style="color: #0000BB">$item1</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$value2 </span><span style="color: #007700">= </span><span style="color: #0000BB">is_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$item2</span><span style="color: #007700">) ? </span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$item2</span><span style="color: #007700">) : (</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$item2</span><span style="color: #007700">) ? </span><span style="color: #0000BB">$item2</span><span style="color: #007700">[</span><span style="color: #DD0000">"value"</span><span style="color: #007700">] : </span><span style="color: #0000BB">$item2</span><span style="color: #007700">);<br />    return </span><span style="color: #0000BB">$value1 </span><span style="color: #007700">&lt;=&gt; </span><span style="color: #0000BB">$value2</span><span style="color: #007700">;<br />};<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
  </div>

 </p>
</div>
     </dd>
    
    
     <dt><code class="parameter">key_compare_func</code></dt>
     <dd>
      <p class="para">
       Callbackfunktion für den Schlüssel-Vergleich.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.array-uintersect-uassoc-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt ein Array mit allen Werten aus <code class="parameter">array1</code> zurück, die
   ebenfalls in allen anderen Argumenten enthalten sind.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.array-uintersect-uassoc-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 <span class="function"><strong>array_uintersect_uassoc()</strong></span> Beispiel</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$array1 </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"a" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"grün"</span><span style="color: #007700">, </span><span style="color: #DD0000">"b" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"braun"</span><span style="color: #007700">, </span><span style="color: #DD0000">"c" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"blau"</span><span style="color: #007700">, </span><span style="color: #DD0000">"rot"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$array2 </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"a" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"GRÜN"</span><span style="color: #007700">, </span><span style="color: #DD0000">"B" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"braun"</span><span style="color: #007700">, </span><span style="color: #DD0000">"gelb"</span><span style="color: #007700">, </span><span style="color: #DD0000">"rot"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">array_uintersect_uassoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$array1</span><span style="color: #007700">, </span><span style="color: #0000BB">$array2</span><span style="color: #007700">, </span><span style="color: #DD0000">"strcasecmp"</span><span style="color: #007700">, </span><span style="color: #DD0000">"strcasecmp"</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="annotation-interactive examplescode"><pre class="examplescode">Array
(
    [a] =&gt; grün
    [b] =&gt; braun
)</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.array-uintersect-uassoc-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.array-uintersect.php" class="function" rel="rdfs-seeAlso">array_uintersect()</a> - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion</span></li>
    <li><span class="function"><a href="function.array-intersect-assoc.php" class="function" rel="rdfs-seeAlso">array_intersect_assoc()</a> - Ermittelt die Schnittmenge von Arrays mit zus&auml;tzlicher Indexpr&uuml;fung</span></li>
    <li><span class="function"><a href="function.array-intersect-uassoc.php" class="function" rel="rdfs-seeAlso">array_intersect_uassoc()</a> - Ermittelt die Schnittmenge von Arrays mit Indexpr&uuml;fung;
  vergleicht Indizes mit einer Callbackfunktion</span></li>
    <li><span class="function"><a href="function.array-uintersect-assoc.php" class="function" rel="rdfs-seeAlso">array_uintersect_assoc()</a> - Ermittelt die Schnittmenge von Arrays mit zus&auml;tzlicher Indexpr&uuml;fung, vergleicht Daten mittels einer Callbackfunktion</span></li>
   </ul>
  </p>
 </div>


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