Home > Backend Development > PHP Tutorial > The difference between PHP function array_merge() and the plus operator_PHP Tutorial

The difference between PHP function array_merge() and the plus operator_PHP Tutorial

WBOY
Release: 2016-07-15 13:29:05
Original
951 people have browsed it

What we introduce to you today is array_merge is described in the reference manual as follows:

The PHP function array_merge() merges two or more arrays Cells are combined, and the values ​​in one array are appended to the previous array. Returns the resulting array.

If there is the same string key name in the input array, the value after the key name will overwrite the previous value. However, if the array contains numeric keys, the subsequent values ​​will not overwrite the original values ​​but will be appended to them.

The difference between the PHP function array_merge() and the plus operator is:

1. When the array key name is a numeric key name, the two to be merged When there is a KEY number with the same name in the array, using array_merge() will not overwrite the original value, but using "+" to merge the arrays will return the first value as the final result, and the subsequent arrays will have the same key name. Those values ​​​​are "discarded" (note: not overwriting but retaining the value that appears first). Example:

<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>
Copy after login

The output result is:

<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>
Copy after login

2. When the same array key name is a character, the "+" operation The symbol is the same as when the key name is numeric, but the PHP function array_merge() will overwrite the previous value with the same key name.

Example:

<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>
Copy after login

The output result is:

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

The above is the actual difference between the PHP function array_merge() and the plus operator.


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/446400.htmlTechArticleWhat we introduce to you today is array_merge. The description in the reference manual is as follows: The PHP function array_merge() combines two Or the cells of multiple arrays are combined, and the values ​​in one array are appended to...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template