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

首頁 > 語言 > PHP > 正文

PHP數組函數知識匯總

2024-05-04 23:45:54
字體:
來源:轉載
供稿:網友
什么是數組?數組就是被命名的用來存儲一系列數值的地方。這篇文章主要匯總了PHP數組函數最基礎的知識點,感興趣的小伙伴們可以參考一下
 

本文為大家分享了PHP數組函數基礎知識,供大家參考,具體內容如下

數組array是非常重要的數據類型。相對于其他的數據類型,它更像是一種結構,而這種結果構可以存儲一系列數值。數組能夠在單一變量名中存儲許多值,并且能夠通過引用下標號來訪問某個值。 
在 PHP 中,有三種數組類型: 
索引數組 - 帶有數字索引的數組 
關聯數組 - 帶有指定鍵的數組 
多維數組 - 包含一個或多個數組的數組

一、創建數組

array(key => value)

1、創建索引數組

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

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

2、創建關聯數組

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

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

3、多維數組

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

獲得數組的長度 - count() 函數

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

二、遍歷數組

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

1、遍歷索引數組

遍歷并輸出索引數組的所有值,可以使用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后面有一個數組符號[],為什么呢?

2、遍歷關聯數組

遍歷并輸出關聯數組的所有值,可以使用 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*...)……

以上就是本文的全部內容,希望對大家學習php程序設計有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲综合第一页| 国产精品入口日韩视频大尺度| 欧美精品在线极品| 亚洲电影免费观看高清完整版在线| 欧美成人黑人xx视频免费观看| 日韩av片永久免费网站| 懂色av影视一区二区三区| 欧美国产精品日韩| 国产精品91一区| 日韩av一区二区在线观看| 国产精品免费久久久久影院| 韩日欧美一区二区| 欧美亚洲在线观看| 亚洲xxx自由成熟| 美女啪啪无遮挡免费久久网站| 亚洲国产精品久久91精品| 欧美电影免费在线观看| 国产91色在线|| 久久精品电影一区二区| 日韩小视频在线观看| 亚洲一区亚洲二区亚洲三区| 久久精品国产69国产精品亚洲| 欧美国产在线视频| 国产欧美在线观看| 国产一区二区三区三区在线观看| 日韩在线www| 欧美亚洲视频在线观看| 欧美午夜宅男影院在线观看| 久久久最新网址| 国内精品久久久久久中文字幕| www.日韩不卡电影av| 国产精品欧美在线| 久久久久久久久久久成人| 久久精品夜夜夜夜夜久久| 一本色道久久综合亚洲精品小说| 久久精品亚洲热| 在线播放国产一区中文字幕剧情欧美| 欧美性色视频在线| 国产日韩欧美自拍| 国产日产欧美a一级在线| 精品一区二区电影| 日韩有码片在线观看| 国产视频福利一区| 欧美精品久久一区二区| 九九热这里只有精品免费看| 国产精品白丝av嫩草影院| 日韩成人在线视频| 国产69久久精品成人看| 亚洲国产精品va| 日韩视频精品在线| 久久久噜噜噜久久中文字免| 国产亚洲人成a一在线v站| 欧美日韩免费网站| 国产精品视频白浆免费视频| 色一情一乱一区二区| 国产在线观看精品| 91精品久久久久久久久不口人| 欧美精品午夜视频| 欧美激情a∨在线视频播放| 欧美在线精品免播放器视频| 91久久精品国产91久久性色| 欧美成人精品在线播放| 日韩av免费在线播放| 久久夜精品va视频免费观看| 精品久久久香蕉免费精品视频| 91高清视频在线免费观看| 亚洲伦理中文字幕| 国产伊人精品在线| 久久久久久久久网站| 亚洲视频电影图片偷拍一区| 久久九九免费视频| 91老司机在线| 欧美猛男性生活免费| 日韩美女免费线视频| 中文日韩电影网站| 欧美成人精品在线视频| 日韩一区av在线| 久久久免费观看| 欧美激情视频给我| 亚洲美女动态图120秒| 日韩中文字幕免费视频| 欧美区在线播放| 国产小视频国产精品| 欧美性受xxxx黑人猛交| 国产福利精品av综合导导航| 亚洲美女精品成人在线视频| 日韩欧美精品免费在线| 国产成人av在线| 福利视频第一区| 日本亚洲欧洲色| 精品亚洲精品福利线在观看| 在线观看日韩欧美| 亲爱的老师9免费观看全集电视剧| 91精品国产免费久久久久久| 激情成人在线视频| 久久99精品视频一区97| 亚洲精品中文字| 久久精视频免费在线久久完整在线看| 在线亚洲男人天堂| 亚洲欧美日韩中文在线制服| 国产成人精品在线| 国产在线观看一区二区三区| 97超碰色婷婷| 亚洲综合在线播放| 欧美日韩亚洲精品一区二区三区| 国产成人一区二区三区| 成人a视频在线观看| 色综合色综合网色综合| 岛国视频午夜一区免费在线观看| 亚洲国产成人精品电影| 成人黄色短视频在线观看| 国产精品高潮粉嫩av| 在线播放国产一区中文字幕剧情欧美| 伊人激情综合网| 亚洲综合成人婷婷小说| 草民午夜欧美限制a级福利片| 欧美日韩福利在线观看| 91精品在线看| 亚洲欧美国产精品va在线观看| 精品福利在线观看| 日韩欧美在线一区| 国产69精品久久久久久| 日韩男女性生活视频| 国产成人在线一区二区| 欧美做受高潮1| 97在线视频观看| 91久久久久久久久久久久久| 在线播放日韩精品| 国产成人拍精品视频午夜网站| 亚洲精品美女久久| 日韩禁在线播放| 97久久精品人人澡人人爽缅北| 久久全国免费视频| 激情久久av一区av二区av三区| 成人精品一区二区三区电影黑人| 在线观看精品国产视频| 国产成人精品日本亚洲| 日韩在线观看免费高清完整版| 亲爱的老师9免费观看全集电视剧| 欧美性猛交xxxx免费看| 日韩成人中文字幕在线观看| 久精品免费视频| 国产亚洲人成网站在线观看| 日韩精品欧美国产精品忘忧草| 91久久久精品| 国产精品日本精品| 日韩精品丝袜在线| 成人亚洲欧美一区二区三区| 国产高清在线不卡| 亚洲午夜av久久乱码| 国产日韩在线看片| 日韩在线观看电影| …久久精品99久久香蕉国产| 欧美性20hd另类| 欧美精品电影免费在线观看| 久久久久久久久久久国产| 国产情人节一区| 国产做受69高潮| 91高潮精品免费porn| 亚洲精品日韩丝袜精品| 日韩小视频在线观看| 国产91亚洲精品| 亚洲三级免费看| 国产999精品久久久影片官网|