<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flávio Silveira &#187; arrays</title>
	<atom:link href="http://flaviosilveira.com/tag/arrays/feed/" rel="self" type="application/rss+xml" />
	<link>http://flaviosilveira.com</link>
	<description>Programação &#38; Desenvolvimento</description>
	<lastBuildDate>Sun, 23 May 2010 01:33:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Comparando Arrays e Trazendo os valores diferentes</title>
		<link>http://flaviosilveira.com/2009/comparando-arrays-e-trazendo-os-valores-diferentes/</link>
		<comments>http://flaviosilveira.com/2009/comparando-arrays-e-trazendo-os-valores-diferentes/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 16:03:23 +0000</pubDate>
		<dc:creator>Flávio Silveira</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Programação em geral]]></category>
		<category><![CDATA[arrays]]></category>

		<guid isPermaLink="false">http://flaviosilveira.com/?p=120</guid>
		<description><![CDATA[Salve pessoal.
Ontem precisei comparar os resultados de dois arrays e deles trazer os valores que estavam em apenas um dos arrays.
A princípio procurei uma função que fizesse isso pra mim, achei que o array_diff fizesse isso para a gente. Mas me enganei! Não achei uma função com esse resultado.
A função array_diff na verdade traz apenas [...]

<div id="RelatedPosts">
Posts Relacionados<ul><li><a href='http://flaviosilveira.com/2009/codeigniter-internet-explorer-e-o-tempo-de-expiracao-da-sessao/' rel='bookmark' title='Permanent Link: CodeIgniter, Internet Explorer e o tempo de expiração da sessão'>CodeIgniter, Internet Explorer e o tempo de expiração da sessão</a></li>
<li><a href='http://flaviosilveira.com/2009/codeigniter-use-a-global-_server-no-config-para-ganhar-dinamismo-com-subdominios/' rel='bookmark' title='Permanent Link: CodeIgniter: Use a Global $_SERVER no config para ganhar dinamismo com subdomínios.'>CodeIgniter: Use a Global $_SERVER no config para ganhar dinamismo com subdomínios.</a></li>
<li><a href='http://flaviosilveira.com/2010/habilitando-layouts-no-codeigniter-template-engine-2/' rel='bookmark' title='Permanent Link: Habilitando Layouts no CodeIgniter (Template Engine) &#8211; Parte 2'>Habilitando Layouts no CodeIgniter (Template Engine) &#8211; Parte 2</a></li>
</ul></div>]]></description>
			<content:encoded><![CDATA[<p>Salve pessoal.</p>
<p>Ontem precisei comparar os resultados de dois arrays e deles trazer os valores que estavam em apenas um dos arrays.</p>
<p>A princípio procurei uma função que fizesse isso pra mim, achei que o <em>array_diff</em> fizesse isso para a gente. Mas me enganei! Não achei uma função com esse resultado.</p>
<p>A função <em>array_diff</em> na verdade traz apenas os valores que constam no primeiro array, mas não constam no segundo.<br />
Exemplo:</p>
<pre class="brush: php;">
&lt;?php

$array1 = array(&quot;bola&quot;, &quot;quadrado&quot;, &quot;triangulo&quot;);
$array2 = array(&quot;esfera&quot;, &quot;quadrado&quot;, &quot;triangulo&quot;);

$result = array_diff($array1, $array2);
print_r($result);

?&gt;
</pre>
<p>O resultado do código acima nos retorna um array com o valor &#8220;bola&#8221;.<br />
Pois é o único valor que consta no primeiro array e não no segundo.<br />
<span id="more-120"></span></p>
<p>O que eu precisava é que ele me retornasse também os valores que tinham no segundo array e que não constavam no primeiro.</p>
<p>Resolvi da seguinte forma:</p>
<pre class="brush: php;">
&lt;?php

$array1 = array(&quot;bola&quot;, &quot;quadrado&quot;, &quot;triangulo&quot;);
$array2 = array(&quot;esfera&quot;, &quot;quadrado&quot;, &quot;triangulo&quot;);

$result1 = array_diff($array1, $array2);
$result2 = array_diff($array2, $array1);

$full = array_merge($result1, $result2);

print_r($full);

?&gt;
</pre>
<p>Primeiro fazemos retornar os valores que estão no primeiro array e não no segundo ($result1).<br />
Em seguida os que estão no segundo array e não no primeiro ($result2).<br />
Após isso unimos os dois arrays através da função <em>array_merge</em>.</p>
<p>E o resultado retornado é [0] => bola  [1] => esfera, como esperado.<br />
Bola que está apenas no primeiro array, e esfera que está apenas no segundo.<br />
Os demais valores aparecem em ambos os arrays, logo, ficam de fora.</p>
<p>Adicionem outros elementos aos arrays para testar e confiram os resultados.</p>
<p>Grande Abraço.</p>


<div id="RelatedPosts"><p>Posts Relacionados<ul><li><a href='http://flaviosilveira.com/2009/codeigniter-internet-explorer-e-o-tempo-de-expiracao-da-sessao/' rel='bookmark' title='Permanent Link: CodeIgniter, Internet Explorer e o tempo de expiração da sessão'>CodeIgniter, Internet Explorer e o tempo de expiração da sessão</a></li>
<li><a href='http://flaviosilveira.com/2009/codeigniter-use-a-global-_server-no-config-para-ganhar-dinamismo-com-subdominios/' rel='bookmark' title='Permanent Link: CodeIgniter: Use a Global $_SERVER no config para ganhar dinamismo com subdomínios.'>CodeIgniter: Use a Global $_SERVER no config para ganhar dinamismo com subdomínios.</a></li>
<li><a href='http://flaviosilveira.com/2010/habilitando-layouts-no-codeigniter-template-engine-2/' rel='bookmark' title='Permanent Link: Habilitando Layouts no CodeIgniter (Template Engine) &#8211; Parte 2'>Habilitando Layouts no CodeIgniter (Template Engine) &#8211; Parte 2</a></li>
</ul></p></div>]]></content:encoded>
			<wfw:commentRss>http://flaviosilveira.com/2009/comparando-arrays-e-trazendo-os-valores-diferentes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
