1、什么是PHP陣列?PHP陣列有哪幾類
陣列就是一組資料的集合,把一系列的資料組織起來,形成一個可以操作的整體,
陣列中的每個元素都包含兩項:鍵和值,可以通過鍵值來獲取相對應的陣列元素,這些鍵值可以是數值鍵或者關聯鍵,
PHP陣列分為三類
數字索引陣列:
索引陣列存盤一系列經過組織的單個或多個值,其中的每個值都可以通過使用一個無符號整數值進行訪問,
關聯陣列:
“關聯陣列”是一種具有特殊索引方式的陣列,不僅可以通過整數來索引它,還可以使用字串或者其他型別的值(除了NULL)來索引它,
多維陣列:
資料結構中的概念, 二維陣列以上的陣列,既非線性也非平面的陣列成為多維陣列,
2、php怎么宣告陣列:宣告陣列的兩種方式
在 PHP 中宣告陣列的方式主要有兩種:一種是應用 array() 函式宣告陣列,另一種是直接通過為陣列元素賦值的方式來宣告陣列,
應用 array()函式定義陣列是比較靈活的,可以在函式體中只給出陣列元素值,而不是給出鍵值,例如:
$arr = array("php","thinkphp"); print_r($arr);
輸出的結果為:

注意:可以通過給變數賦予一個沒有引數的 array()函式來創建空陣列,然后使用方括號[]語法來添加陣列元素值!
PHP提供創建陣列的 array()函式,在使用其中某個元素的資料時,可以直接利用他們在數注重的排列順序取值,這個順序稱之為陣列的下標,例如:
$arr = array("php","thinkphp"); echo $arr[1];

注意:使用 array()函式定義陣列是,下標默認是從 0 開始的,而不是 1 ,然后依次增加 1,所以下標為 2 的元素是指陣列的第 3 個元素,以此類推!
下面通過 array()函式宣告陣列,示例代碼:
$arr = array("1"=>"php","2"=>"thinkphp"); print_r($arr); echo $arr[0]; echo $arr[1];
輸出的結果為:

PHP 中另一個比較靈活的陣列宣告方式是直接為陣列元素賦值,如果在創建陣列時不知道所創建陣列的大小,或者在實際撰寫程式時陣列的大小可能發生變化,采用這種陣列創建的方法比較好,
為了加深對這種陣列宣告方式的理解,下面通過具體的實體對該中陣列宣告方式進行講解,示例代碼如下:
header("Content-Type:text/html; charset=utf-8"); $arr[1] = "html"; $arr[2] = 'css'; print_r($arr);
輸出的結果為:

注意:通過直接為陣列元素賦值方式宣告陣列時,要求同一陣列元素中的陣列名相同,
3、什么是php二維陣列?php二維陣列實體詳解
PHP二維陣列代碼實體:
<?php header("Content-Type:text/html; charset=utf-8"); $arr = array( "php"=>array("php","thinkphp"), "js"=>array("M"=>"js","N"=>"jQuery","vue","react"), "html"=>array(10=>"html","html5") ); print_r($arr);
輸出結果為:

這里說明下:
很多人看到上面為什么"html5"的下標是“11”呢?
這個問題我們之前的文章都有說過,陣列下標默認是從 0 開始的,然后依次增加 1 ,當然也可以指定從某個數字開始,因為我們前面定義了“html”是 10 ,所以后面的“html5”的下標自然就是 11 了,小伙伴們現在明白了嘛?
上面的實體實作了一個二維陣列的宣告,按照這樣的思路,可以宣告更高維數的陣列
4、PHP陣列的型別-數字索引陣列
PHP 數字索引陣列一般表示陣列元素在陣列中的位置,它由數字組成,下標從 0 開始,數字索引陣列默認索引值就是從數字 0 開始的,不需要特別指定,PHP 會自動為索引陣列的鍵名賦一個整數值,然后從這個值開始自動增量,當然,也可以指定從某個位置開始保存資料,
數字索引陣列的案例:
$arr = array("1"=>"html","2"=>"css"); print_r($arr);
輸出結果為:

索引陣列使用無符號 32 位整數作為索引號,索引陣列的最大大小為 2-1,即 4,294,967,295,如果要創建的陣列大小超過最大值,則會出現運行時錯誤,
5、PHP陣列的型別-關聯陣列
除了陣列索引陣列,PHP還有一種關聯陣列,在其它計算機語言中,一般叫做hash或者map
使用關聯陣列,我們可以為每個陣列元素指定一個關鍵詞,我們稱之為鍵(key)
關聯陣列的鍵名可以是數字和字串混合的形式,而不像數字索引陣列的鍵名只能為數字,在一個陣列中,只要鍵名中有一個不是數字,那么這個陣列就稱之為關聯陣列,
關聯陣列的元素沒有特定的順序,你可以把它們想象為一組卡片,每張卡片上半部分是索引而下半部分是數值,
JavaScript的物件本質就是一個關聯陣列,
關聯陣列案例如下:
$arr = array("first"=>"html","second"=>"css"); echo($arr['first']);
輸出結果為:

技巧:關聯陣列的鍵名可以使任何一個整數或者字串,如果鍵名是一個字串,不要忘了給這個鍵名或者索引加上定界符—單引號(‘)或者雙引號(“),對于數字索引陣列,為了避免不必要的麻煩,我們也最好加上定界符!
6、PHP陣列的型別-多維陣列
定義二維陣列:
<?php header("Content-Type:text/html; charset=utf-8"); $arr = [[1,2,3],[4,5,6],[7,8]]; echo count($arr); echo "<br>"; echo count($arr,true);//遞回
獲取上面二維陣列“4”這個元素的方式如下:
$arr = [[1,2,3],[4,5,6],[7,8]]; echo $arr[1][0];
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/40924.html
標籤:PHP
