<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >array_intersect_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_intersect_uassoc" HREF="function.array-intersect-uassoc.html"><LINK REL="NEXT" TITLE="array_intersect" HREF="function.array-intersect.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-intersect-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-intersect.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.array-intersect-ukey" ></A >array_intersect_ukey</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN10820" ></A ><P > (PHP 5 >= 5.1.0RC1)</P >array_intersect_ukey -- Computes the intersection of arrays using a callback function on the keys for comparison</DIV ><DIV CLASS="refsect1" ><A NAME="AEN10823" ></A ><H2 >Description</H2 >array <B CLASS="methodname" >array_intersect_ukey</B > ( array array1, array array2 [, array ..., callback key_compare_func] )<BR ></BR ><P > <B CLASS="function" >array_intersect_ukey()</B > returns an array containing all the values of <CODE CLASS="parameter" >array1</CODE > which have matching keys that are present in all the arguments. </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="AEN10845" ></A ><P ><B >Exemplo 1. <B CLASS="function" >array_intersect_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_intersect_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) { ["blue"]=> int(1) ["green"]=> int(3) }</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > In our example you see that only the keys <TT CLASS="literal" >'blue'</TT > and <TT CLASS="literal" >'green'</TT > are present in both arrays and thus returned. Also notice that the values for the keys <TT CLASS="literal" >'blue'</TT > and <TT CLASS="literal" >'green'</TT > differ between the two arrays. A match still occurs because only the keys are checked. The values returned are those of <CODE CLASS="parameter" >array1</CODE >. </P ><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-diff-ukey.html" ><B CLASS="function" >array_diff_ukey()</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 > and <A HREF="function.array-intersect-key.html" ><B CLASS="function" >array_intersect_key()</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-intersect-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-intersect.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >array_intersect_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_intersect</TD ></TR ></TABLE ></DIV ></BODY ></HTML >