亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP數組函數基礎知識

2020-03-22 17:50:50
字體:
來源:轉載
供稿:網友
  • 什么是數組?數組就是被命名的用來存儲一系列數值的地方。數組array是非常重要的數據類型。相對于其他的數據類型,它更像是一種結構,而這種結果構可以存儲一系列數值。數組能夠在單一變量名中存儲許多值,并且能夠通過引用下標號來訪問某個值。
    在 PHP 中,有三種數組類型:
    索引數組 - 帶有數字索引的數組
    關聯數組 - 帶有指定鍵的數組
    多維數組 - 包含一個或多個數組的數組

    創建數組
    array(key => html' target='_blank'>value)

    創建索引數組

    使用array()函數聲明數組。PHP屬于弱類型語言相對較靈活和方便,也可以直接是數組的元素值value,不需要鍵值key,索引是自動分配的(索引從 0 開始)。
    例:

    array('1' => '百度','2' => '阿里','3' => '騰訊');或者是不使用鍵值:array('百度','阿里','騰訊');當然也可以寫成:$arr[0] = '百度';$arr[1] = '阿里';$arr[2] = '騰訊';

    創建關聯數組

    關聯數組和索引數組類似,只是關聯數組不能夠像索引數組的鍵名那樣只能夠為數字,它可以是數值和字符串以及混合形式,判斷一個數組是否為關聯數組的依據是:數組中的鍵名是否存在一個不是數字的。不是就是關聯。

    array('李彥宏' => '百度','馬云' => '阿里','馬化騰' => '騰訊');

    多維數組

    array(array(),array()) 二維數組

    獲得數組的長度 - count() 函數
    <?php$arr = array('百度','阿里','騰訊');echo count($arr);?> //結果返回3(說明數組中有三個元素)

    遍歷數組

    輸出數組中元素的值。對于索引數組常用for、foreach;對于關聯數組常用foreach。使用print_r()函數打印循環后的結果,也可以用var_dump()。

    遍歷索引數組

    遍歷并輸出索引數組的所有值,可以使用for、 foreach(array_expression as value)、foreach(arrayexpressionaskey => $value) 循環,如下:

    使用for循環<?php$arr = array('百度','阿里','騰訊');$arrlen = count($arr);//獲取數組的長度for ($i=0; $i <$arrlen ; $i++) {     $data[] = $arr[$i]; }echo '<pre>'; //換行顯示print_r($data);打印結果顯示如下:Array(    [0] => 百度    [1] => 阿里    [2] => 騰訊)使用foreach循環<?php$arr = array('百度','阿里','騰訊');foreach ($arr as $value) {    $data[] = $value;}echo '<pre>'; //換行顯示print_r($data);//打印結果和上面一樣注意:data后面有一個數組符號[],為什么呢?

    遍歷關聯數組

    遍歷并輸出關聯數組的所有值,可以使用 foreach (array_expression as key=>value) 循環,如下:

    <?php$arr = array('李彥宏' => '百度','馬云' => '阿里','馬化騰' => '騰訊');foreach ($arr as $key => $value) {    $data[$key] = $value;}echo '<pre>'; //換行顯示print_r($data);打印結果顯示:Array(    [李彥宏] => 百度    [馬云] => 阿里    [馬化騰] => 騰訊)

    注意到沒?此時的data后是[$key]?而不是[]
    一個數關聯數組一個是數字索引數組,

    增加刪除數組的元素

    在數組元素的尾部增加
    array_push(array,value1,value2…) 函數向第一個參數的數組尾部添加一個或多個元素(入棧),然后返回新數組的長度。
    該函數等于多次調用 array[]=value。

    <?php$arr = array('百度','阿里','騰訊');array_push($arr,'知乎','微博');echo '<pre>'; //換行顯示print_r($arr);打印結果顯示:Array(    [0] => 百度    [1] => 阿里    [2] => 騰訊    [3] => 知乎    [4] => 微博)

    在數組元素的開始增加
    array_unshift(array,value1,value2,value3…) 函數用于向數組插入新元素。新數組的值將被插入到數組的開頭。

    <?php$arr = array('百度','阿里','騰訊');array_unshift($arr,'知乎','微博');echo '<pre>'; //換行顯示print_r($arr);打印結果顯示:Array(    [0] => 知乎    [1] => 微博    [2] => 百度    [3] => 阿里    [4] => 騰訊)

    在數組元素的尾部刪除
    array_pop(array) 函數刪除數組中的最后一個元素。

    <?php$arr = array('百度','阿里','騰訊');array_pop($arr);echo '<pre>'; //換行顯示print_r($arr);打印結果顯示:Array(    [0] => 百度    [1] => 阿里)

    在數組元素的開始刪除
    array_shift(array) 函數刪除數組中第一個元素 并可以返回被刪除元素的值。

    <?php$arr = array('百度','阿里','騰訊');array_shift($arr);echo '<pre>'; //換行顯示print_r($arr);打印結果顯示:Array(    [0] => 阿里    [1] => 騰訊)

    移除數組中重復的值
    array_unique(array) 函數移除數組中的重復的值,并返回結果數組。

    <?php$arr = array('百度','阿里','騰訊','百度','微博');$data = array_unique($arr);echo '<pre>';print_r($data);打印結果顯示:Array(    [0] => 百度    [1] => 阿里    [2] => 騰訊    [4] => 微博)

    定位數組元素

    搜索數組中存在的值
    in_array(search,array,type)檢查數組中是否存在指定的值。
    如果給定的值 search 存在于數組 array 中則返回 true。如果第三個參數設置為 true,函數只有在元素存在于數組中且數據類型與給定值相同時才返回 true。如果沒有在數組中找到參數,函數返回 false。

    <?php$arr = array('百度','阿里','騰訊');while (in_array('百度', $arr)) {    echo '已經找到';    break;} //輸出已經找到

    在數組中根據條件取出一段值: array_slice(array,start,length,preserve)
    start 必需。數值。規定取出元素的開始位置。 0 = 第一個元素。
    如果該值設置為正數,則從前往后開始取。
    如果該值設置為負數,則從后向前取 start 絕對值。 -2 意味著從數組的倒數第二個元素開始。

    length 可選。數值。規定被返回數組的長度。
    如果該值設置為整數,則返回該數量的元素。
    如果該值設置為負數,則函數將在舉例數組末端這么遠的地方終止取出。
    如果該值未設置,則返回從 start 參數設置的位置開始直到數組末端的所有元素。

    <?php$arr = array('百度','阿里','騰訊','知乎','微博');$data = array_slice($arr,0,4);echo '<pre>';print_r($data);打印結果顯示:Array(    [0] => 百度    [1] => 阿里    [2] => 騰訊    [3] => 知乎)

    array_splice(array,start,length,array) 函數從數組中移除選定的元素,并用新元素取代它。該函數也將返回包含被移除元素的數組。

    <?php$arr1 = array('百度','阿里','騰訊');$arr2 = array('知乎','微博');array_splice($arr1,0,2,$arr2);echo '<pre>';print_r($arr1);打印結果顯示:Array(    [0] => 知乎    [1] => 微博    [2] => 騰訊)

    數組合并、拆分、比較

    array_merge()函數將數組合并到一起,返回一個聯合的數組。所得到的數組以第一個輸入數組參數開始,按后面數組參數出現的順序依次追加。

    <?php$arr1 = array('百度','阿里','騰訊');$arr2 = array('知乎','微博');$data = array_merge($arr1,$arr2);echo '<pre>';print_r($data);打印結果顯示:Array(    [0] => 百度    [1] => 阿里    [2] => 騰訊    [3] => 知乎    [4] => 微博)

    遞歸追加數組
    array_merge_recursive()函數與array_merge()相同,可以將兩個或多個數組合并到一起,形成一個聯合的數組。兩者之間的區別在于,當某個輸入數組中的某個鍵已經存在于結果數組中時該函數會采取不同的處理方法。array_merge()會覆蓋前面存在的鍵/值對,將其替換為當前輸入數組中的鍵/值對,而array_merge_recursive()將兩個值合并在一起,形成一個新的數組并以原有的鍵作為數組名。其形式為:

    $arr= array('one'=>'C', 'one'=>'B'); $arr1= array('three'=>'1', 'one'=>'2'); $arr2= array_merge_recursive($arr, $arr1); echo '<pre>';print_r($arr2); 打印結果顯示:Array(    [one] => Array        (            [0] => B            [1] => 2        )    [three] => 1)

    合并兩個數組
    array_combine()函數會生成一個新數組,這個數組由一組提交的鍵和對應的值組成,其形式為:

    $arr= array('A', 'B'); $arr1= array('1', '2'); $arr2= array_combine($arr, $arr1);echo '<pre>';print_r($arr2); 打印結果顯示:Array(    [A] => 1    [B] => 2)

    求數組的交集
    array_intersect()函數返回一個保留了鍵的數組,這個數組只由第一個數組中出現的且在其他每個輸入數組中都出現的值組成。其形式如下:

    $arr= array('A', 'B', 'C', 'D'); $arr1= array('A', 'B', 'E'); $arr2= array('A', 'F', 'D'); $arr3= array_intersect($arr, $arr1, $arr2); echo '<pre>';print_r($arr3); 打印結果顯示:Array(    [0] => A)

    注意:只有在兩個元素有相同的數據類型時,array_intersect()才會認為它們相等。

    求關聯數組的交集
    array_intersect_assoc()與array_intersect()基本相同,只不過它在比較中還考慮了數組的鍵。因此,只有在第一個數組中出現,且在所有其他輸入數組中也出現的鍵/值對才被返回到結果數組中。其形式如下:

    $arr= array('a'=>'A', 'b'=>'B', 'c'=>'C', 'd'=>'D'); $arr1= array('a'=>'A', 'c'=>'B', 'E'); $arr2= array('a'=>'A', 'b'=>'F', 'd'=>'B'); $arr3= array_intersect_assoc($arr, $arr1, $arr2); echo '<pre>';print_r($arr3); 打印結果顯示:Array(    [a] => A)

    求關聯數組的差集
    函數array_diff_assoc()與array_diff()基本相同,只是它在比較時還考慮了數組的鍵,因此,只在第一個數組中出現而不在其他輸入數組中出現的鍵/值對才會被返回到結果數組中。其形式如下:

    $arr= array('a'=>'A', 'b'=>'B', 'c'=>'C', 'd'=>'D'); $arr1= array('a'=>'A', 'b'=>'B', 'e'=>'E'); $arr3= array_diff_assoc($arr, $arr1); echo '<pre>';print_r($arr3); 打印結果顯示:Array(    [c] => C    [d] => D)

    其他有用的數組函數
    返回一組隨機的鍵 array_rand()函數將返回數組中的一個或多個鍵。其形式為:

    $arr= array('a'=>'A', 'b'=>'B', 'c'=>'C', 'd'=>'D'); $arr1= array_rand($arr, 2); echo '<pre>';print_r($arr1);打印結果顯示: Array(    [0] => c    [1] => d) //每次刷新顯示的結果都不一樣

    對數組中的值求和
    array_sum()函數將數組內的所有值加在一起,返回最終的和,其形式如下:

    $arr= array('A', 32, 12, 'B'); $count= array_sum($arr); echo '<pre>';print_r($count); 打印結果顯示:44

    如果數組中包含其他數據類型(例如字符串),這些值將被忽略。

    劃分數組
    array_chunk()函數將數組分解為一個多維數組,這個多維數組由多個包含size個元素的數組所組成。其形式如下:

    $arr= array('A', 'B', 'C', 'D'); $arr1= array_chunk($arr, 2); echo '<pre>';print_r($arr1); 打印結果顯示:Array(    [0] => Array        (            [0] => A            [1] => B        )    [1] => Array        (            [0] => C            [1] => D        ))

    處理數組時可調用函數有
    array_filter(*array*,*callbackfunction*);array_intersect_uassoc(*array1*,*array2*,*array3*...,*myfunction*)array_intersect_ukey(*array1*,*array2*,*array3*...,*myfunction*)array_reduce(*array*,*myfunction*,*initial*)array_walk(*array*,*myfunction*,*userdata*...)……

    –end

    PHP編程

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

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    亚州av一区二区| 日韩中文字幕久久| 45www国产精品网站| 日本久久久久久久久久久| 日本精品免费观看| 久久久亚洲欧洲日产国码aⅴ| 性色av一区二区三区红粉影视| 亚洲人成网在线播放| 欧美影院在线播放| 欧美色videos| 在线观看日韩www视频免费| 色综合色综合久久综合频道88| 一本色道久久综合亚洲精品小说| 日韩一中文字幕| 成人亚洲欧美一区二区三区| 国产日韩欧美在线| 欧美裸体男粗大视频在线观看| 色悠久久久久综合先锋影音下载| 日韩在线视频观看| 欧美在线免费看| 日韩av影视综合网| 一本一道久久a久久精品逆3p| 亚洲精品免费一区二区三区| 国产精品日日做人人爱| 色综合五月天导航| 国产人妖伪娘一区91| 亚洲va久久久噜噜噜久久天堂| 久久视频免费观看| 中文字幕一区日韩电影| 久久综合免费视频影院| 日韩av中文在线| 国产精品国产三级国产aⅴ9色| 日韩精品福利网站| 69视频在线免费观看| 岛国av一区二区在线在线观看| 亚洲乱码av中文一区二区| 精品国产91久久久| www.日本久久久久com.| 久久人91精品久久久久久不卡| 91精品久久久久久久| 久久久爽爽爽美女图片| 日韩欧美在线视频| 国产suv精品一区二区三区88区| 久久91亚洲人成电影网站| 中文字幕在线看视频国产欧美| 亚洲一区二区自拍| 欧美日韩激情美女| 欧美一级成年大片在线观看| 久久久成人精品| 久久精品99久久久香蕉| 色婷婷久久一区二区| 欧美日韩亚洲视频一区| 欧美大片第1页| 亚洲一区第一页| 色妞在线综合亚洲欧美| 色yeye香蕉凹凸一区二区av| 九九热精品视频| 久久久之久亚州精品露出| 伊人久久精品视频| 久久国产精品免费视频| 亚洲精品国产综合区久久久久久久| 日韩第一页在线| 国产精品午夜国产小视频| 久久久这里只有精品视频| 成人在线视频网| 在线视频中文亚洲| 国产狼人综合免费视频| 国产精品天天狠天天看| 欧美精品videosex牲欧美| 国产自产女人91一区在线观看| 欧美在线www| 国产精品户外野外| 国产亚洲视频在线| 久久久91精品国产一区不卡| 欧美性猛交xxxx免费看久久久| 欧美亚洲第一页| 久久精品99国产精品酒店日本| 久久免费国产精品1| 九九热精品视频在线播放| 国产一区二区丝袜高跟鞋图片| 国产欧美日韩专区发布| 国产亚洲成av人片在线观看桃| 另类专区欧美制服同性| 欧美乱人伦中文字幕在线| 欧美床上激情在线观看| 国产精品99蜜臀久久不卡二区| 亚洲第一视频网站| 日韩精品黄色网| 中文字幕久热精品视频在线| 日韩成人av网| 欧美性极品xxxx娇小| 国产成人精品久久久| 久久久爽爽爽美女图片| 欧美精品18videos性欧美| 国产成人精品在线观看| 2019中文字幕全在线观看| 亚洲成人精品视频在线观看| 国产一区私人高清影院| 欧美日韩亚洲91| 国产色婷婷国产综合在线理论片a| 久久久爽爽爽美女图片| 亚洲国产成人91精品| 久久激情视频免费观看| 欧美一级淫片播放口| 成人国产在线视频| 国产精品劲爆视频| 久久精品亚洲精品| 久久精品中文字幕一区| 国产日韩在线免费| 国产91成人在在线播放| 国产精品久久久久久久久久久久久| 97久久伊人激情网| 欧美精品18videosex性欧美| 欧美视频13p| 亚洲成人av片| 欧美一级淫片播放口| 亚洲无线码在线一区观看| 久久久噜噜噜久噜久久| 国产成人自拍视频在线观看| 精品露脸国产偷人在视频| 国产精品免费视频久久久| 日韩在线视频一区| 日韩电影在线观看永久视频免费网站| 久久久久久网址| 日本最新高清不卡中文字幕| 亚洲精品国产精品国自产观看浪潮| 亚洲激情视频在线| 亚洲第一网站男人都懂| 91天堂在线观看| www国产亚洲精品久久网站| 91香蕉嫩草神马影院在线观看| 午夜欧美不卡精品aaaaa| 国产精品白嫩初高中害羞小美女| 国产精品扒开腿做爽爽爽视频| 国产精品第1页| 国产精品久久久久久久美男| 亚洲直播在线一区| 美日韩精品免费观看视频| 久久久久久久久亚洲| 伊人亚洲福利一区二区三区| 久久久免费电影| 亚洲色图13p| 国产精品视频在线观看| 亚洲精品第一页| 欧美电影免费观看电视剧大全| 国产精品大片wwwwww| 在线精品国产成人综合| 日韩成人在线免费观看| 国产成人精品电影久久久| 亚洲国产古装精品网站| 亚洲精品国产品国语在线| 中文字幕视频一区二区在线有码| 亚洲va欧美va在线观看| 欧美午夜片在线免费观看| 亚洲国产精品嫩草影院久久| 丝袜亚洲另类欧美重口| 国产精品手机播放| 日本aⅴ大伊香蕉精品视频| 亚洲高清在线观看| 国产99视频精品免视看7| 国产精品入口日韩视频大尺度| 亚洲在线免费观看| 亚洲一区二区黄| 久久夜色精品亚洲噜噜国产mv|