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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP array_flip() array_merge() array+array的使用总结

發(fā)布時(shí)間:2023/12/18 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP array_flip() array_merge() array+array的使用总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

array_flip(array);

//傳遞一個(gè)數(shù)組參數(shù),對(duì)該數(shù)組的鍵、值進(jìn)行翻轉(zhuǎn)

例如:

$a = array('a','b','c' ); print_r(array_flip($a));//輸出為: Array ([a] => 0[b] => 1[c] => 2 )//需要注意的是: array_flip(): Can only flip STRING and INTEGER values

?

array_merge (array1,array2[,aray3...])

//對(duì)兩個(gè)或多個(gè)數(shù)組進(jìn)行合并(傳遞一個(gè)數(shù)組參數(shù)也是可以的)

需要注意的是:

  • 如果數(shù)組中沒(méi)有鍵名,則不管他們的值的交集存不存在重復(fù),最終結(jié)果都會(huì)以下標(biāo)為0開(kāi)始的數(shù)組返回,值的順序依次為array1、array2..
  • 如果數(shù)組中設(shè)置有鍵名,且鍵名存在重復(fù),則該鍵值為最后一個(gè)鍵名對(duì)應(yīng)的值(覆蓋前面)
  • 如果數(shù)組是指定數(shù)字索引,則結(jié)果的鍵名會(huì)以從0開(kāi)始的數(shù)組重新進(jìn)行索引
  • 如果數(shù)組中的鍵名存在以上的組合情況,則以顯式指定鍵名的優(yōu)先
  • 總結(jié)一點(diǎn)是,他要保證合并后的數(shù)組索引不能重復(fù),若沒(méi)指定鍵名或指定鍵名為數(shù)字,則結(jié)果按從0開(kāi)始的數(shù)字重新進(jìn)行,若指定了非數(shù)字索引,則他會(huì)保留之前的索引,但如果存在多個(gè),則只保留最后一個(gè)
  • 幾個(gè)例子:

    //沒(méi)有指定索引 $a = array('a','b', ); $b = array('a','b', ); $arr = array_merge($a,$b); //輸出: Array ([0] => a[1] => b[2] => a[3] => b ) //======================= //顯式指定數(shù)字鍵名 $a = array(3=>'a',4=>'b', ); $b = array(1=>'a',2=>'b', ); $arr = array_merge($a,$b); //輸出: Array ([0] => a[1] => b[2] => a[3] => b ) //======================= //顯式指定數(shù)字鍵名和無(wú)索引混合 $a = array(3=>'a','b', ); $b = array('a',2=>'b', ); $arr = array_merge($a,$b); //輸出: Array ([0] => a[1] => b[2] => a[3] => b ) //======================= //顯式指定非數(shù)字索引1 $a = array('a'=>1,'b', ); $b = array('a','b', ); $arr = array_merge($a,$b); //輸出: Array ([a] => 1[0] => b[1] => a[2] => b ) //======================= //顯式指定非數(shù)字索引2 $a = array('a'=>1,'b'=>2, ); $b = array('a','b'=>22, ); $arr = array_merge($a,$b); //輸出: Array ([a] => 1[b] => 22[0] => a )

    其他的幾種組合例子就不貼上去了……

    array1+array2

    這種寫(xiě)法其實(shí)沒(méi)用過(guò),研究了一把,他其實(shí)也是用來(lái)合并數(shù)組操作。用法和array_merge有一定的區(qū)別。

  • 若數(shù)組沒(méi)有指定索引,則他會(huì)先把a(bǔ)rray1的先賦值給結(jié)果,假設(shè)array1長(zhǎng)度為3,array2長(zhǎng)度為5,則他會(huì)把a(bǔ)rray2[3]、array2[4]追加到結(jié)果后面,array2[0-2]直接忽略
  • 若為數(shù)組指定了索引,不管為數(shù)字還是非數(shù)字索引,最終結(jié)果都會(huì)保留指定的索引,若兩個(gè)數(shù)組存在重復(fù)的索引,則以第一個(gè)為最終結(jié)果(覆蓋后面)
  • 指定索引和無(wú)索引混合的情況下,先看array1,若前幾個(gè)為無(wú)索引,比如前3個(gè)沒(méi)有指定,則還按照規(guī)則1,忽略掉array2中的前3個(gè)。若array1[0]為顯式指定索引,則不會(huì)忽略array2中的數(shù)組元素,除非存在指定相同的索引,遵循規(guī)則2
  • 幾個(gè)例子:

    //沒(méi)有指定索引 $a = array('a','b', ); $b = array('c','d','e' ); $arr = $a + $b; //輸出: Array ([0] => a[1] => b[2] => e ) //======================= //指定數(shù)字索引 $a = array(1=>'a',2=>'b', ); $b = array(4=>'c',7=>'d' ); $arr = $a + $b; //輸出: Array ([1] => a[2] => b[4] => c[7] => d ) //======================= //指定索引,存在重復(fù) $a = array('a'=>11,'b'=>22, ); $b = array('c'=>33,'d'=>44,'a'=>55 ); $arr = $a + $b; //輸出: Array ([a] => 11[b] => 22[c] => 33[d] => 44 ) //======================= //混合指定索引和無(wú)索引1 $a = array('a',2=>'b', ); $b = array('c','d',10=>'a',4=>22 ); $arr = $a + $b; //輸出: Array ([0] => a[2] => b[1] => d[10] => a[4] => 22 ) //======================= //混合指定索引和無(wú)索引2 $a = array(2=>'b','a', ); $b = array('c','d',10=>'a',4=>22 ); $arr = $a + $b; //輸出: Array ([2] => b[3] => a[0] => c[1] => d[10] => a[4] => 22 )

    array_flip和array+array的搭配使用(去掉兩個(gè)數(shù)組中重復(fù)的值):

    $a = array('a','b','c' ); $b = array('a1','b1','c' ); $arr = array_flip($a) + array_flip($b); print_r(array_keys($arr)); //輸出: Array ([0] => a[1] => b[2] => c[3] => a1[4] => b1 )

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/fanchangfa/p/4155274.html

    總結(jié)

    以上是生活随笔為你收集整理的PHP array_flip() array_merge() array+array的使用总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。