国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP array_flip() array_merge() array+array的使用總結

2020-03-22 19:43:39
字體:
來源:轉載
供稿:網友
  • array_flip(array);

    //傳遞一個數組參數,對該數組的鍵、值進行翻轉

    例如:

    $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 html' target='_blank'>values

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

    //對兩個或多個數組進行合并(傳遞一個數組參數也是可以的)

    需要注意的是:

    如果數組中沒有鍵名,則不管他們的值的交集存不存在重復,最終結果都會以下標為0開始的數組返回,值的順序依次為array1、array2..如果數組中設置有鍵名,且鍵名存在重復,則該鍵值為最后一個鍵名對應的值(覆蓋前面)如果數組是指定數字索引,則結果的鍵名會以從0開始的數組重新進行索引如果數組中的鍵名存在以上的組合情況,則以顯式指定鍵名的優先總結一點是,他要保證合并后的數組索引不能重復,若沒指定鍵名或指定鍵名為數字,則結果按從0開始的數字重新進行,若指定了非數字索引,則他會保留之前的索引,但如果存在多個,則只保留最后一個

    幾個例子:

    //沒有指定索引$a = array(    'a',    'b',);$b = array(    'a',    'b',);$arr = array_merge($a,$b);//輸出:Array(    [0] => a    [1] => b    [2] => a    [3] => b)//=======================//顯式指定數字鍵名$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)//=======================//顯式指定數字鍵名和無索引混合$a = array(    3=>'a',    'b',);$b = array(    'a',    2=>'b',);$arr = array_merge($a,$b);//輸出:Array(    [0] => a    [1] => b    [2] => a    [3] => b)//=======================//顯式指定非數字索引1$a = array(    'a'=>1,    'b',);$b = array(    'a',    'b',);$arr = array_merge($a,$b);//輸出:Array(    [a] => 1    [0] => b    [1] => a    [2] => b)//=======================//顯式指定非數字索引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

    這種寫法其實沒用過,研究了一把,他其實也是用來合并數組操作。用法和array_merge有一定的區別。

    若數組沒有指定索引,則他會先把array1的先賦值給結果,假設array1長度為3,array2長度為5,則他會把array2[3]、array2[4]追加到結果后面,array2[0-2]直接忽略若為數組指定了索引,不管為數字還是非數字索引,最終結果都會保留指定的索引,若兩個數組存在重復的索引,則以第一個為最終結果(覆蓋后面)指定索引和無索引混合的情況下,先看array1,若前幾個為無索引,比如前3個沒有指定,則還按照規則1,忽略掉array2中的前3個。若array1[0]為顯式指定索引,則不會忽略array2中的數組元素,除非存在指定相同的索引,遵循規則2

    幾個例子:

    //沒有指定索引$a = array(    'a',    'b',);$b = array(    'c',    'd',    'e');$arr = $a + $b;//輸出:Array(    [0] => a    [1] => b    [2] => e)//=======================//指定數字索引$a = array(    1=>'a',    2=>'b',);$b = array(    4=>'c',    7=>'d');$arr = $a + $b;//輸出:Array(    [1] => a    [2] => b    [4] => c    [7] => d)//=======================//指定索引,存在重復$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)//=======================//混合指定索引和無索引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)//=======================//混合指定索引和無索引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的搭配使用(去掉兩個數組中重復的值):

    $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)
    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 祁东县| 托克逊县| 永寿县| 玉屏| 准格尔旗| 临泉县| 深圳市| 土默特左旗| 定边县| 左云县| 洱源县| 大洼县| 定陶县| 夏津县| 龙门县| 舒城县| 灌云县| 嘉善县| 运城市| 清涧县| 萍乡市| 成武县| 镇雄县| 上高县| 安仁县| 洛隆县| 西乌珠穆沁旗| 翁牛特旗| 金乡县| 临武县| 新干县| 灯塔市| 阿拉尔市| 固原市| 阜平县| 汝城县| 太保市| 双流县| 紫云| 留坝县| 安阳市|