<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>WIDGET-INFO &#187; Set</title>
	<atom:link href="http://blog.widget-info.net/category/cakephp/others_class-cakephp/cakephp_set/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.widget-info.net</link>
	<description>WIDGET-INFOではCakePHPやIPhone情報、その他開発に関する情報を発信</description>
	<lastBuildDate>Sat, 24 Dec 2011 20:47:30 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.widget-info.net/category/cakephp/others_class-cakephp/cakephp_set/feed/" />
		<item>
		<title>CakePHP　SetクラスのpushDiff()を使ってみる</title>
		<link>http://blog.widget-info.net/2009/10/cakephp_set_pushdiff/</link>
		<comments>http://blog.widget-info.net/2009/10/cakephp_set_pushdiff/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 20:02:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Set]]></category>
		<category><![CDATA[その他クラス]]></category>

		<guid isPermaLink="false">http://blog.widget-info.net/?p=255</guid>
		<description><![CDATA[CakePHPのSetクラスにある「pushDiff()」を使ってみました。自分のメモです。。。]]></description>
			<content:encoded><![CDATA[<p>CakePHPのSetクラスにある「pushDiff()」を使ってみました。<br />
自分のメモです。。。</p>
<p>テストとして次の例で記述します。<br />
<span id="more-255"></span></p>
<pre class="brush:php">$array1=array('abc','efg');
$array2=array('abc','ffg','Efg');
$newArray=Set::pushDiff($array1,$array2);
pr($newArray);</pre>
<p>結果は</p>
<pre class="brush:php">Array
(
    [0] =&gt; abc
    [1] =&gt; efg
    [2] =&gt; Efg
)</pre>
<p>という結果でした。<br />
Setクラスの「merge()」との違いは「merge()」は配列を結合し、同一キーが存在する場合は<br />
上書きされますが、この場合は上書きをしないようです。
<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.widget-info.net%2F2009%2F10%2Fcakephp_set_pushdiff%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.widget-info.net/2009/10/cakephp_set_pushdiff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.widget-info.net/2009/10/cakephp_set_pushdiff/" />
	</item>
		<item>
		<title>CakePHP　Setクラスのmerge()を使ってみる</title>
		<link>http://blog.widget-info.net/2009/10/cakephp_set_merge/</link>
		<comments>http://blog.widget-info.net/2009/10/cakephp_set_merge/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 23:10:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Set]]></category>
		<category><![CDATA[その他クラス]]></category>

		<guid isPermaLink="false">http://blog.widget-info.net/?p=258</guid>
		<description><![CDATA[CakePHPのSetクラスにある「merge()」を使ってみました。自分用のメモです。。。]]></description>
			<content:encoded><![CDATA[<p>CakePHPのSetクラスにある「merge()」を使ってみました。<br />
自分用のメモです。。。</p>
<p>Setクラスの「merge()」はPHP関数である「array_merge()」を再帰的に行ってくれるものです。<br />
簡単に説明すると1つ目の配列に2つ目の配列を結合します。<br />
記述例では</p>
<pre class="brush:php">$array1 = array("color" =&gt; array("favorite" =&gt; "red"), 5);
$array2 = array(10, "color" =&gt; array("favorite" =&gt; "green", "blue"));
pr(Set::merge($array1,$array2));</pre>
<p><span id="more-258"></span>結果は</p>
<pre class="brush:php">Array
(
    [color] =&gt; Array
        (
            [favorite] =&gt; green
            [0] =&gt; blue
        )

    [0] =&gt; 5
    [1] =&gt; 10
)</pre>
<p>となります。<br />
PHP関数の「array_merge()」では再帰的に行ってくれない部分をサポートしてくれるので、<br />
「array_merge()」の代わりに利用することができます。<br />
ただし注意点としてはPHP関数の「array_merge_recursive()」とは違うので、使い分けが必要な場合もあるかと思います。</p>
<p>ちなみに前述の例の配列を「array_merge_recursive()」で行った場合の結果は次のようになります。</p>
<pre class="brush:php">Array
(
    [color] =&gt; Array
        (
            [favorite] =&gt; Array
                (
                    [0] =&gt; red
                    [1] =&gt; green
                )

            [0] =&gt; blue
        )

    [0] =&gt; 5
    [1] =&gt; 10
)</pre>
<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.widget-info.net%2F2009%2F10%2Fcakephp_set_merge%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.widget-info.net/2009/10/cakephp_set_merge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.widget-info.net/2009/10/cakephp_set_merge/" />
	</item>
	</channel>
</rss>

