Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 703d980c580707c382b4e43e25965bc5 > files > 5495

php-manual-pt_BR-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>array_udiff_uassoc</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Manual do PHP"
HREF="index.html"><LINK
REL="UP"
TITLE="Arrays"
HREF="ref.array.html"><LINK
REL="PREVIOUS"
TITLE="array_udiff_assoc"
HREF="function.array-udiff-assoc.html"><LINK
REL="NEXT"
TITLE="array_udiff"
HREF="function.array-udiff.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="refentry"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Manual do PHP</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="function.array-udiff-assoc.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.array-udiff.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.array-udiff-uassoc"
></A
>array_udiff_uassoc</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN11766"
></A
><P
>    (PHP 5)</P
>array_udiff_uassoc&nbsp;--&nbsp;Computes the difference of arrays with additional index check, compares data and indexes by a callback function</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN11769"
></A
><H2
>Description</H2
>array <B
CLASS="methodname"
>array_udiff_uassoc</B
> ( array array1, array array2 [, array ..., callback data_compare_func, callback key_compare_func] )<BR
></BR
><P
>&#13;   <B
CLASS="function"
>array_udiff_uassoc()</B
> returns an <A
HREF="language.types.array.html"
><B
CLASS="type"
>array</B
></A
>
   containing all the values from <CODE
CLASS="parameter"
>array1</CODE
>
   that are not present in any of the other arguments.
   Note that the keys are used in the comparison unlike
   <A
HREF="function.array-diff.html"
><B
CLASS="function"
>array_diff()</B
></A
> and <A
HREF="function.array-udiff.html"
><B
CLASS="function"
>array_udiff()</B
></A
>.
   The comparison of arrays' data is performed by using an user-supplied
   callback : <CODE
CLASS="parameter"
>data_compare_func</CODE
>. In this aspect
   the behaviour is opposite to the behaviour of
   <A
HREF="function.array-diff-assoc.html"
><B
CLASS="function"
>array_diff_assoc()</B
></A
> which uses internal function for
   comparison. The comparison of keys (indices) is done also by the
   callback function <CODE
CLASS="parameter"
>key_compare_func</CODE
>. This
   behaviour is unlike what <A
HREF="function.array-udiff-assoc.html"
><B
CLASS="function"
>array_udiff_assoc()</B
></A
> does, since
   the latter compares the indices by using an internal function.
  </P
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN11800"
></A
><P
><B
>Exemplo 1. <B
CLASS="function"
>array_udiff_uassoc()</B
> example</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#007700">class </font><font color="#0000BB">cr </font><font color="#007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">private $priv_member</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;function </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">$val</font><font color="#007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$this</font><font color="#007700">-&gt;</font><font color="#0000BB">priv_member </font><font color="#007700">= </font><font color="#0000BB">$val</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function </font><font color="#0000BB">comp_func_cr</font><font color="#007700">(</font><font color="#0000BB">$a</font><font color="#007700">, </font><font color="#0000BB">$b</font><font color="#007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$a</font><font color="#007700">-&gt;</font><font color="#0000BB">priv_member </font><font color="#007700">=== </font><font color="#0000BB">$b</font><font color="#007700">-&gt;</font><font color="#0000BB">priv_member</font><font color="#007700">) return </font><font color="#0000BB">0</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (</font><font color="#0000BB">$a</font><font color="#007700">-&gt;</font><font color="#0000BB">priv_member </font><font color="#007700">&gt; </font><font color="#0000BB">$b</font><font color="#007700">-&gt;</font><font color="#0000BB">priv_member</font><font color="#007700">)? </font><font color="#0000BB">1</font><font color="#007700">:-</font><font color="#0000BB">1</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function </font><font color="#0000BB">comp_func_key</font><font color="#007700">(</font><font color="#0000BB">$a</font><font color="#007700">, </font><font color="#0000BB">$b</font><font color="#007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$a </font><font color="#007700">=== </font><font color="#0000BB">$b</font><font color="#007700">) return </font><font color="#0000BB">0</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (</font><font color="#0000BB">$a </font><font color="#007700">&gt; </font><font color="#0000BB">$b</font><font color="#007700">)? </font><font color="#0000BB">1</font><font color="#007700">:-</font><font color="#0000BB">1</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></font><font color="#0000BB">$a </font><font color="#007700">= array(</font><font color="#DD0000">"0.1" </font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">9</font><font color="#007700">), </font><font color="#DD0000">"0.5" </font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">12</font><font color="#007700">), </font><font color="#0000BB">0 </font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">23</font><font color="#007700">), </font><font color="#0000BB">1</font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">4</font><font color="#007700">), </font><font color="#0000BB">2 </font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(-</font><font color="#0000BB">15</font><font color="#007700">),);<br /></font><font color="#0000BB">$b </font><font color="#007700">= array(</font><font color="#DD0000">"0.2" </font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">9</font><font color="#007700">), </font><font color="#DD0000">"0.5" </font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">22</font><font color="#007700">), </font><font color="#0000BB">0 </font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">3</font><font color="#007700">), </font><font color="#0000BB">1</font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(</font><font color="#0000BB">4</font><font color="#007700">), </font><font color="#0000BB">2 </font><font color="#007700">=&gt; new </font><font color="#0000BB">cr</font><font color="#007700">(-</font><font color="#0000BB">15</font><font color="#007700">),);<br /><br /></font><font color="#0000BB">$result </font><font color="#007700">= </font><font color="#0000BB">array_udiff_uassoc</font><font color="#007700">(</font><font color="#0000BB">$a</font><font color="#007700">, </font><font color="#0000BB">$b</font><font color="#007700">, array(</font><font color="#DD0000">"cr"</font><font color="#007700">, </font><font color="#DD0000">"comp_func_cr"</font><font color="#007700">), array(</font><font color="#DD0000">"cr"</font><font color="#007700">, </font><font color="#DD0000">"comp_func_key"</font><font color="#007700">));<br /></font><font color="#0000BB">print_r</font><font color="#007700">(</font><font color="#0000BB">$result</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
><P
>O exemplo acima irá imprimir:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
>Array
(
    [0.1] =&#62; cr Object
        (
            [priv_member:private] =&#62; 9
        )

    [0.5] =&#62; cr Object
        (
            [priv_member:private] =&#62; 12
        )

    [0] =&#62; cr Object
        (
            [priv_member:private] =&#62; 23
        )
)</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
><P
>&#13;   In our example above you see the <TT
CLASS="literal"
>"1" =&#62; new cr(4)</TT
>
   pair is present in both arrays and thus it is not in the ouput from the
   function. Keep in mind that you have to supply 2 callback functions.
  </P
><P
>&#13;   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.
  </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
    Please note that this function only checks one dimension of a n-dimensional
    array. Of course you can check deeper dimensions by using, for example,
    <TT
CLASS="literal"
>array_udiff_uassoc($array1[0], $array2[0], "data_compare_func",
    "key_compare_func");</TT
>.
   </P
></BLOCKQUOTE
></DIV
><P
>&#13;   See also
   <A
HREF="function.array-diff.html"
><B
CLASS="function"
>array_diff()</B
></A
>,
   <A
HREF="function.array-diff-assoc.html"
><B
CLASS="function"
>array_diff_assoc()</B
></A
>,
   <A
HREF="function.array-diff-uassoc.html"
><B
CLASS="function"
>array_diff_uassoc()</B
></A
>,
   <A
HREF="function.array-udiff.html"
><B
CLASS="function"
>array_udiff()</B
></A
>,
   <A
HREF="function.array-udiff-assoc.html"
><B
CLASS="function"
>array_udiff_assoc()</B
></A
>,
   <A
HREF="function.array-intersect.html"
><B
CLASS="function"
>array_intersect()</B
></A
>,
   <A
HREF="function.array-intersect-assoc.html"
><B
CLASS="function"
>array_intersect_assoc()</B
></A
>,
   <A
HREF="function.array-uintersect.html"
><B
CLASS="function"
>array_uintersect()</B
></A
>,
   <A
HREF="function.array-uintersect-assoc.html"
><B
CLASS="function"
>array_uintersect_assoc()</B
></A
> and
   <A
HREF="function.array-uintersect-uassoc.html"
><B
CLASS="function"
>array_uintersect_uassoc()</B
></A
>.
  </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="function.array-udiff-assoc.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Principal</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="function.array-udiff.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>array_udiff_assoc</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.array.html"
ACCESSKEY="U"
>Acima</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>array_udiff</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>