日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 通过array_merge()和array+array合并数组的区别和效率比较

發布時間:2025/3/15 php 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 通过array_merge()和array+array合并数组的区别和效率比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

眾所周知合并兩個數組可以使用array_merge(),這是php提供的一個函數。另外還可以通過?array 的方式來合并數組,這兩種直接有什么區別,哪一個的效率更高呢?

array_merge()

格式: array array_merge ( array?… ] )

注意(區別):

  • 如果合并的數組使用關聯索引,數組中有相同的鍵名,則該鍵名后面的值將覆蓋前一個值。
  • 如果合并的數組使用數字索引,數組中有相同的鍵名, 后面的值將不會覆蓋原來的值,而是附加到后面。
  • 如果只給了一個數組并且該數組是數字索引的,則鍵名會以連續方式重新索引。

$array + $array

注意(區別):

  • 如果合并的數組中有相同的鍵名,最先出現的值作為最終結果返回(和array_merge關聯索引的情況正好相反)

循環10萬次的用時

$arr1 = [0,1,2,3]; $arr2 = ['0'=>0,1,2,'5'=>3];var_dump(array_merge($arr1,$arr2));echo '<br/>';var_dump($arr1+$arr2);echo '測試array_merge()和+的效率'; echo '<br/>';$execTime = 100000; $time = time();for ($i = 0; $i < $execTime; $i++) {array_merge($arr1,$arr2); }echo '用時:' .(time() - $time); echo '<br/>';$time = time();for ($i = 0; $i < $execTime; $i++) {$arr1+$arr2; }echo '用時:' .(time() - $time); echo '<br/>';

輸出結果:

array_merge() : 6s?
$array + $array : 0s

總結

array_merge() 和 + 都可以起到合并數組的作用,但是它們處理相同鍵的方式不同,array_merge() 返回的是后面的鍵的值, + 返回的是第一個鍵的值。+ 的效率要高于array_merge();

轉載于:https://www.cnblogs.com/-mrl/p/9225840.html

總結

以上是生活随笔為你收集整理的php 通过array_merge()和array+array合并数组的区别和效率比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。