PageRenderTime 30ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/php/function.array-merge.html

https://bitbucket.org/thncr/manuals
HTML | 237 lines | 208 code | 29 blank | 0 comment | 0 complexity | 68f48b03228a971977a23accd9e233c6 MD5 | raw file
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>合并一个或多个数组</title>
  6. </head>
  7. <body><div class="manualnavbar" style="text-align: center;">
  8. <div class="prev" style="text-align: left; float: left;"><a href="function.array-merge-recursive.html">array_merge_recursive</a></div>
  9. <div class="next" style="text-align: right; float: right;"><a href="function.array-multisort.html">array_multisort</a></div>
  10. <div class="up"><a href="ref.array.html">数组 函数</a></div>
  11. <div class="home"><a href="index.html">PHP Manual</a></div>
  12. </div><hr /><div id="function.array-merge" class="refentry">
  13. <div class="refnamediv">
  14. <h1 class="refname">array_merge</h1>
  15. <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">array_merge</span> &mdash; <span class="dc-title">合并一个或多个数组</span></p>
  16. </div>
  17. <div class="refsect1 description" id="refsect1-function.array-merge-description">
  18. <h3 class="title">说明</h3>
  19. <div class="methodsynopsis dc-description">
  20. <span class="type">array</span> <span class="methodname"><strong>array_merge</strong></span>
  21. ( <span class="methodparam"><span class="type">array</span> <code class="parameter">$array1</code></span>
  22. [, <span class="methodparam"><span class="type">array</span> <code class="parameter">$...</code></span>
  23. ] )</div>
  24. <p class="para rdfs-comment">
  25. <span class="function"><strong>array_merge()</strong></span> 将一个或多个数组的单元合并起来一个数组中的值附加在前一个数组的后面返回作为结果的数组
  26. </p>
  27. <p class="para">
  28. 如果输入的数组中有相同的字符串键名则该键名后面的值将覆盖前一个值然而如果数组包含数字键名后面的值将<em class="emphasis">不会</em>覆盖原来的值而是附加到后面
  29. </p>
  30. <p class="para">
  31. 如果只给了一个数组并且该数组是数字索引的则键名会以连续方式重新索引
  32. </p>
  33. </div>
  34. <div class="refsect1 parameters" id="refsect1-function.array-merge-parameters">
  35. <h3 class="title">参数</h3>
  36. <p class="para">
  37. <dl>
  38. <dt>
  39. <span class="term"><em><code class="parameter">array1</code></em></span>
  40. <dd>
  41. <p class="para">
  42. Initial array to merge.
  43. </p>
  44. </dd>
  45. </dt>
  46. <dt>
  47. <span class="term"><em><code class="parameter">...</code></em></span>
  48. <dd>
  49. <p class="para">
  50. Variable list of arrays to merge.
  51. </p>
  52. </dd>
  53. </dt>
  54. </dl>
  55. </p>
  56. </div>
  57. <div class="refsect1 returnvalues" id="refsect1-function.array-merge-returnvalues">
  58. <h3 class="title">返回值</h3>
  59. <p class="para">
  60. 返回结果数组
  61. </p>
  62. </div>
  63. <div class="refsect1 changelog" id="refsect1-function.array-merge-changelog">
  64. <h3 class="title">更新日志</h3>
  65. <p class="para">
  66. <table class="doctable informaltable">
  67. <thead>
  68. <tr>
  69. <th>版本</th>
  70. <th>说明</th>
  71. </tr>
  72. </thead>
  73. <tbody class="tbody">
  74. <tr>
  75. <td>5.0.0</td>
  76. <td>
  77. <div class="warning"><strong class="warning">Warning</strong>
  78. <p class="para">
  79. <span class="function"><strong>array_merge()</strong></span> 的行为在 PHP 5 中被修改了 PHP 4
  80. 不同 <span class="function"><strong>array_merge()</strong></span> 现在只接受
  81. <span class="type"><a href="language.types.array.html" class="type array">array</a></span> 类型的参数不过可以用强制转换来合并其它类型请看下面的例子
  82. </p>
  83. <p class="para">
  84. <div class="example" id="example-4719">
  85. <p><strong>Example #1 <span class="function"><strong>array_merge()</strong></span> PHP 5 例子</strong></p>
  86. <div class="example-contents">
  87. <div class="phpcode"><code><span style="color: #000000">
  88. <span style="color: #0000BB">&lt;?php<br />$beginning&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'foo'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$end&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'bar'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_merge</span><span style="color: #007700">((array)</span><span style="color: #0000BB">$beginning</span><span style="color: #007700">,&nbsp;(array)</span><span style="color: #0000BB">$end</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
  89. </span>
  90. </code></div>
  91. </div>
  92. <div class="example-contents"><p>以上例程会输出</p></div>
  93. <div class="example-contents screen">
  94. <div class="cdata"><pre>
  95. Array
  96. (
  97. [0] =&gt; foo
  98. [1] =&gt; bar
  99. )
  100. </pre></div>
  101. </div>
  102. </div>
  103. </p>
  104. </div>
  105. </td>
  106. </tr>
  107. </tbody>
  108. </table>
  109. </p>
  110. </div>
  111. <div class="refsect1 examples" id="refsect1-function.array-merge-examples">
  112. <h3 class="title">范例</h3>
  113. <p class="para">
  114. <div class="example" id="example-4720">
  115. <p><strong>Example #2 <span class="function"><strong>array_merge()</strong></span> 例子</strong></p>
  116. <div class="example-contents">
  117. <div class="phpcode"><code><span style="color: #000000">
  118. <span style="color: #0000BB">&lt;?php<br />$array1&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"color"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"red"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$array2&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">"a"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"b"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"color"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"green"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"shape"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"trapezoid"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_merge</span><span style="color: #007700">(</span><span style="color: #0000BB">$array1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$array2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
  119. </span>
  120. </code></div>
  121. </div>
  122. <div class="example-contents"><p>以上例程会输出</p></div>
  123. <div class="example-contents screen">
  124. <div class="cdata"><pre>
  125. Array
  126. (
  127. [color] =&gt; green
  128. [0] =&gt; 2
  129. [1] =&gt; 4
  130. [2] =&gt; a
  131. [3] =&gt; b
  132. [shape] =&gt; trapezoid
  133. [4] =&gt; 4
  134. )
  135. </pre></div>
  136. </div>
  137. </div>
  138. </p>
  139. <p class="para">
  140. <div class="example" id="example-4721">
  141. <p><strong>Example #3 Simple <span class="function"><strong>array_merge()</strong></span> 例子</strong></p>
  142. <div class="example-contents">
  143. <div class="phpcode"><code><span style="color: #000000">
  144. <span style="color: #0000BB">&lt;?php<br />$array1&nbsp;</span><span style="color: #007700">=&nbsp;array();<br /></span><span style="color: #0000BB">$array2&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"data"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_merge</span><span style="color: #007700">(</span><span style="color: #0000BB">$array1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$array2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
  145. </span>
  146. </code></div>
  147. </div>
  148. <div class="example-contents"><p>
  149. 别忘了数字键名将会被重新编号
  150. </p></div>
  151. <div class="example-contents screen">
  152. <div class="cdata"><pre>
  153. Array
  154. (
  155. [0] =&gt; data
  156. )
  157. </pre></div>
  158. </div>
  159. <div class="example-contents"><p>
  160. 如果你想完全保留原有数组并只想新的数组附加到后面 <em>+</em> 运算符
  161. </p></div>
  162. <div class="example-contents">
  163. <div class="phpcode"><code><span style="color: #000000">
  164. <span style="color: #0000BB">&lt;?php<br />$array1&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'zero_a'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'two_a'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'three_a'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$array2&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'one_b'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'three_b'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">4&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'four_b'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$array1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">$array2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
  165. </span>
  166. </code></div>
  167. </div>
  168. <div class="example-contents"><p>
  169. The keys from the first array will be preserved. If an array key
  170. exists in both arrays, then the element from the first array will
  171. be used and the matching key&#039;s element from the second array will
  172. be ignored.
  173. </p></div>
  174. <div class="example-contents screen">
  175. <div class="cdata"><pre>
  176. array(5) {
  177. [0]=&gt;
  178. string(6) &quot;zero_a&quot;
  179. [2]=&gt;
  180. string(5) &quot;two_a&quot;
  181. [3]=&gt;
  182. string(7) &quot;three_a&quot;
  183. [1]=&gt;
  184. string(5) &quot;one_b&quot;
  185. [4]=&gt;
  186. string(6) &quot;four_b&quot;
  187. }
  188. </pre></div>
  189. </div>
  190. </div>
  191. </p>
  192. </div>
  193. <div class="refsect1 seealso" id="refsect1-function.array-merge-seealso">
  194. <h3 class="title">参见</h3>
  195. <p class="para">
  196. <ul class="simplelist">
  197. <li class="member"> <span class="function"><a href="function.array-merge-recursive.html" class="function" rel="rdfs-seeAlso">array_merge_recursive()</a> - 递归地合并一个或多个数组</span></li>
  198. <li class="member"> <span class="function"><a href="function.array-combine.html" class="function" rel="rdfs-seeAlso">array_combine()</a> - 创建一个数组用一个数组的值作为其键名另一个数组的值作为其值</span></li>
  199. <li class="member"><a href="language.operators.array.html" class="link">array operators</a></li>
  200. </ul>
  201. </p>
  202. </div>
  203. </div><hr /><div class="manualnavbar" style="text-align: center;">
  204. <div class="prev" style="text-align: left; float: left;"><a href="function.array-merge-recursive.html">array_merge_recursive</a></div>
  205. <div class="next" style="text-align: right; float: right;"><a href="function.array-multisort.html">array_multisort</a></div>
  206. <div class="up"><a href="ref.array.html">数组 函数</a></div>
  207. <div class="home"><a href="index.html">PHP Manual</a></div>
  208. </div></body></html>