Sophie

Sophie

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

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_assoc</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_sum"
HREF="function.array-sum.html"><LINK
REL="NEXT"
TITLE="array_udiff_uassoc"
HREF="function.array-udiff-uassoc.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-sum.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-uassoc.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.array-udiff-assoc"
></A
>array_udiff_assoc</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN11714"
></A
><P
>    (PHP 5)</P
>array_udiff_assoc&nbsp;--&nbsp;Computes the difference of arrays with additional index check, compares data by a callback function</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN11717"
></A
><H2
>Description</H2
>array <B
CLASS="methodname"
>array_udiff_assoc</B
> ( array array1, array array2 [, array ..., callback data_compare_func] )<BR
></BR
><P
>&#13;   <B
CLASS="function"
>array_udiff_assoc()</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. 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.
  </P
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN11742"
></A
><P
><B
>Exemplo 1. <B
CLASS="function"
>array_udiff_assoc()</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 /><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_assoc</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">));<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.
  </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_assoc($array1[0], $array2[0], "some_comparison_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-uassoc.html"
><B
CLASS="function"
>array_udiff_uassoc()</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-sum.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-uassoc.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>array_sum</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_uassoc</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>