<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >array_diff_ukey</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_diff_uassoc" HREF="function.array-diff-uassoc.html"><LINK REL="NEXT" TITLE="array_diff" HREF="function.array-diff.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-diff-uassoc.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-diff.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.array-diff-ukey" ></A >array_diff_ukey</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN10441" ></A ><P > (PHP 5 >= 5.1.0RC1)</P >array_diff_ukey -- Computes the difference of arrays using a callback function on the keys for comparison</DIV ><DIV CLASS="refsect1" ><A NAME="AEN10444" ></A ><H2 >Description</H2 >array <B CLASS="methodname" >array_diff_ukey</B > ( array array1, array array2 [, array ..., callback key_compare_func] )<BR ></BR ><P > <B CLASS="function" >array_diff_ukey()</B > returns an array containing all the values of <CODE CLASS="parameter" >array1</CODE > that have keys that are not present in any of the other arguments. Note that the associativity is preserved. This function is like <A HREF="function.array-diff.html" ><B CLASS="function" >array_diff()</B ></A > except the comparison is done on the keys instead of the values. </P ><P > This comparison is done by a user supplied callback function. It must return an integer less than, equal to, or greater than zero if the first key is considered to be respectively less than, equal to, or greater than the second. </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN10467" ></A ><P ><B >Exemplo 1. <B CLASS="function" >array_diff_ukey()</B > example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#007700">function </font><font color="#0000BB">key_compare_func</font><font color="#007700">(</font><font color="#0000BB">$key1</font><font color="#007700">, </font><font color="#0000BB">$key2</font><font color="#007700">)<br />{<br /> if (</font><font color="#0000BB">$key1 </font><font color="#007700">== </font><font color="#0000BB">$key2</font><font color="#007700">)<br /> return </font><font color="#0000BB">0</font><font color="#007700">;<br /> else if (</font><font color="#0000BB">$key1 </font><font color="#007700">> </font><font color="#0000BB">$key2</font><font color="#007700">)<br /> return </font><font color="#0000BB">1</font><font color="#007700">;<br /> else<br /> return -</font><font color="#0000BB">1</font><font color="#007700">;<br />}<br /><br /></font><font color="#0000BB">$array1 </font><font color="#007700">= array(</font><font color="#DD0000">'blue' </font><font color="#007700">=> </font><font color="#0000BB">1</font><font color="#007700">, </font><font color="#DD0000">'red' </font><font color="#007700">=> </font><font color="#0000BB">2</font><font color="#007700">, </font><font color="#DD0000">'green' </font><font color="#007700">=> </font><font color="#0000BB">3</font><font color="#007700">, </font><font color="#DD0000">'purple' </font><font color="#007700">=> </font><font color="#0000BB">4</font><font color="#007700">);<br /></font><font color="#0000BB">$array2 </font><font color="#007700">= array(</font><font color="#DD0000">'green' </font><font color="#007700">=> </font><font color="#0000BB">5</font><font color="#007700">, </font><font color="#DD0000">'blue' </font><font color="#007700">=> </font><font color="#0000BB">6</font><font color="#007700">, </font><font color="#DD0000">'yellow' </font><font color="#007700">=> </font><font color="#0000BB">7</font><font color="#007700">, </font><font color="#DD0000">'cyan' </font><font color="#007700">=> </font><font color="#0000BB">8</font><font color="#007700">);<br /><br /></font><font color="#0000BB">var_dump</font><font color="#007700">(</font><font color="#0000BB">array_diff_ukey</font><font color="#007700">(</font><font color="#0000BB">$array1</font><font color="#007700">, </font><font color="#0000BB">$array2</font><font color="#007700">, </font><font color="#DD0000">'key_compare_func'</font><font color="#007700">));<br /></font><font color="#0000BB">?></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(2) { ["red"]=> int(2) ["purple"]=> int(4) }</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </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 <TT CLASS="literal" >array_diff_ukey($array1[0], $array2[0], 'callback_func');</TT >. </P ></BLOCKQUOTE ></DIV ><P > See also <A HREF="function.array-diff.html" ><B CLASS="function" >array_diff()</B ></A >, <A HREF="function.array-udiff.html" ><B CLASS="function" >array_udiff()</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-assoc.html" ><B CLASS="function" >array_udiff_assoc()</B ></A >, <A HREF="function.array-udiff-uassoc.html" ><B CLASS="function" >array_udiff_uassoc()</B ></A >, <A HREF="function.array-diff-key.html" ><B CLASS="function" >array_diff_key()</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-intersect-uassoc.html" ><B CLASS="function" >array_intersect_uassoc()</B ></A >, <A HREF="function.array-intersect-key.html" ><B CLASS="function" >array_intersect_key()</B ></A > and <A HREF="function.array-intersect-ukey.html" ><B CLASS="function" >array_intersect_ukey()</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-diff-uassoc.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-diff.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >array_diff_uassoc</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_diff</TD ></TR ></TABLE ></DIV ></BODY ></HTML >