ホームページ >バックエンド開発 >PHPチュートリアル >PHP関数array_merge()とplusoperator_PHPチュートリアルの違い

PHP関数array_merge()とplusoperator_PHPチュートリアルの違い

WBOY
WBOYオリジナル
2016-07-15 13:29:05976ブラウズ

今日紹介するのはarray_mergeです。リファレンスマニュアルの説明は以下の通りです。

PHPの関数array_merge()は、2つ以上の配列のセルを結合し、1つの配列内の値を追加します。前の配列に戻ります。結果の配列を返します。

入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。

PHP 関数 array_merge() とプラス演算子の違いは次のとおりです:

1. 配列キー名が数値キー名で、マージされる 2 つの配列が同じ数値 KEY を持つ場合は、array_merge() を使用します。 ) は元の値を上書きせず、「+」を使用して配列をマージすると、最初の値が最終結果として返され、後続の配列で同じキー名を持つそれらの値が「破棄」されます (注: 上書きではなく、最初に出現した値が保持されます)。例:

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute-value"><font color="#0000ff">array</font></span><span class="attribute"><font color="#ff0000">array1</font></span><span> = array(</span><span class="attribute"><font color="#ff0000">1</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'0');  </span></span></li>
<li class="">
<span>$</span><span class="attribute-value"><font color="#0000ff">array</font></span><span class="attribute"><font color="#ff0000">array2</font></span><span> = array(</span><span class="attribute"><font color="#ff0000">1</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "data");  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">result1</font></span><span> = $array2 + $array1;/*结果为$array2的值*/  </span>
</li>
<li class=""><span>print_r($result);  </span></li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">result</font></span><span> = $array1 + $array2 ;/*结果为$array1的值*/  </span>
</li>
<li class=""><span>print_r($result);  </span></li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">result3</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">array_merge</font></span><span>($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/  </span>
</li>
<li class=""><span>print_r($result3);  </span></li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">result4</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">array_merge</font></span><span>($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/  </span>
</li>
<li class=""><span>print_r($result4);  </span></li>
</ol>

出力結果は次のようになります:

りー

2 .同じ配列キー名が文字の場合、「+」演算子はキー名が数字の場合と同じですが、このときPHP関数array_merge()は同じキー名の以前の値を上書きします。

例:

<ol class="dp-xml">
<li class="alt"><span><span>Array ( [1] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> data )  </span></span></li>
<li class="">
<span>Array ( [1] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 0 )  </span>
</li>
<li class="alt"><span>Array (  </span></li>
<li class="">
<span>[0] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> data  </span>
</li>
<li class="alt">
<span>[1] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 0  </span>
</li>
<li class=""><span>)  </span></li>
<li class="alt"><span>Array  </span></li>
<li class=""><span>(  </span></li>
<li class="alt">
<span>[0] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 0  </span>
</li>
<li class="">
<span>[1] =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> data  </span>
</li>
<li class="alt"><span>)  </span></li>
</ol>

出力結果は次のとおりです。

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute-value"><font color="#0000ff">array</font></span><span class="attribute"><font color="#ff0000">array1</font></span><span> = array('asd'=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>'0');  </span></span></li>
<li class="">
<span>$</span><span class="attribute-value"><font color="#0000ff">array</font></span><span class="attribute"><font color="#ff0000">array2</font></span><span> = array('asd' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> "data");  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">result1</font></span><span> = $array2 + $array1;/*结果为$array2的值*/  </span>
</li>
<li class=""><span>print_r($result);  </span></li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">result</font></span><span> = $array1 + $array2 ;/*结果为$array1的值*/  </span>
</li>
<li class=""><span>print_r($result);  </span></li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">result3</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">array_merge</font></span><span>($array2,$array1);/*结果为$array1*/  </span>
</li>
<li class=""><span>print_r($result3);  </span></li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">result4</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">array_merge</font></span><span>($array1,$array2);/*结果为$array2*/  </span>
</li>
<li class=""><span>print_r($result4);  </span></li>
</ol>

以上がPHP関数array_merge()と実際に使用するプラス演算子の違いです。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446400.html技術記事今日紹介するのはarray_mergeです。リファレンスマニュアルの説明は以下の通りです。 PHP関数array_merge()は、2つ以上の配列のセルをマージし、1つの配列内の値を追加します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。