<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
  <refentry id="function.array-uintersect-uassoc">
   <refnamediv>
    <refname>array_uintersect_uassoc</refname>
    <refpurpose>Computes the intersection of arrays with additional index check. Both the data and the indexes are compared by using a callback functions</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
    <methodsynopsis>
     <type>array</type><methodname>array_uintersect_uassoc</methodname>
     <methodparam><type>array</type><parameter>array1</parameter></methodparam>
     <methodparam><type>array</type><parameter>array2</parameter></methodparam>
     <methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
     <methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
     <methodparam><type>callback</type><parameter>key_compare_func</parameter></methodparam>
    </methodsynopsis>
    <para>
     <function>array_uintersect_uassoc</function> returns an array
     containing all the values of <parameter>array1</parameter>
     that are present in all the arguments. Note that the keys are used in
     the comparison unlike in <function>array_uintersect</function>.
     Both the data and the indexes are compared by using a callback functions.
    </para>
    <para>
     <example>
      <title><function>array_uintersect_uassoc</function> example</title>
      <programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>
]]>
      </programlisting>
      <para>
       Result will look like:
      </para>
      <screen>
<![CDATA[
Array
(
    [a] => green
    [b] => brown
)
]]>
      </screen>
     </example>
    </para>
    <para>
     For comparison is used the user supplied callback function.
     It must return an integer less than, equal
     to, or greater than zero if the first argument is considered to
     be respectively less than, equal to, or greater than the
     second.
    </para>
    <para>
     See also <function>array_uintersect</function>,
     <function>array_intersect_assoc</function>,
     <function>array_intersect_uassoc</function> and
     <function>array_uintersect_assoc</function>.
    </para>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->