php数组的定义、php数组的类型
1、什么是PHP數(shù)組?PHP數(shù)組有哪幾類
數(shù)組就是一組數(shù)據(jù)的集合,把一系列的數(shù)據(jù)組織起來,形成一個可以操作的整體。
數(shù)組中的每個元素都包含兩項:鍵和值。可以通過鍵值來獲取相對應(yīng)的數(shù)組元素,這些鍵值可以是數(shù)值鍵或者關(guān)聯(lián)鍵。
PHP數(shù)組分為三類
數(shù)字索引數(shù)組:
索引數(shù)組存儲一系列經(jīng)過組織的單個或多個值,其中的每個值都可以通過使用一個無符號整數(shù)值進行訪問。
關(guān)聯(lián)數(shù)組:
“關(guān)聯(lián)數(shù)組”是一種具有特殊索引方式的數(shù)組。不僅可以通過整數(shù)來索引它,還可以使用字符串或者其他類型的值(除了NULL)來索引它。
多維數(shù)組:
數(shù)據(jù)結(jié)構(gòu)中的概念, 二維數(shù)組以上的數(shù)組,既非線性也非平面的數(shù)組成為多維數(shù)組。
2、php怎么聲明數(shù)組:聲明數(shù)組的兩種方式
在 PHP 中聲明數(shù)組的方式主要有兩種:一種是應(yīng)用 array() 函數(shù)聲明數(shù)組,另一種是直接通過為數(shù)組元素賦值的方式來聲明數(shù)組。
應(yīng)用 array()函數(shù)定義數(shù)組是比較靈活的,可以在函數(shù)體中只給出數(shù)組元素值,而不是給出鍵值。例如:
$arr = array("php","thinkphp");
print_r($arr);
輸出的結(jié)果為:
注意:可以通過給變量賦予一個沒有參數(shù)的 array()函數(shù)來創(chuàng)建空數(shù)組,然后使用方括號[]語法來添加數(shù)組元素值!
PHP提供創(chuàng)建數(shù)組的 array()函數(shù)。在使用其中某個元素的數(shù)據(jù)時,可以直接利用他們在數(shù)注重的排列順序取值,這個順序稱之為數(shù)組的下標(biāo)。例如:
$arr = array("php","thinkphp");
echo $arr[1];
注意:使用 array()函數(shù)定義數(shù)組是,下標(biāo)默認(rèn)是從 0 開始的,而不是 1 ,然后依次增加 1。所以下標(biāo)為 2 的元素是指數(shù)組的第 3 個元素。以此類推!
下面通過 array()函數(shù)聲明數(shù)組,示例代碼:
$arr = array("1"=>"php","2"=>"thinkphp");
print_r($arr);
echo $arr[0];
echo $arr[1];
輸出的結(jié)果為:
PHP 中另一個比較靈活的數(shù)組聲明方式是直接為數(shù)組元素賦值。如果在創(chuàng)建數(shù)組時不知道所創(chuàng)建數(shù)組的大小,或者在實際編寫程序時數(shù)組的大小可能發(fā)生變化,采用這種數(shù)組創(chuàng)建的方法比較好。
為了加深對這種數(shù)組聲明方式的理解,下面通過具體的實例對該中數(shù)組聲明方式進行講解,示例代碼如下:
header("Content-Type:text/html; charset=utf-8");
$arr[1] = "html";
$arr[2] = 'css';
print_r($arr);
輸出的結(jié)果為:
注意:通過直接為數(shù)組元素賦值方式聲明數(shù)組時,要求同一數(shù)組元素中的數(shù)組名相同。
3、什么是php二維數(shù)組?php二維數(shù)組實例詳解
PHP二維數(shù)組代碼實例:
<?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);
輸出結(jié)果為:
這里說明下:
很多人看到上面為什么"html5"的下標(biāo)是“11”呢?
這個問題我們之前的文章都有說過,數(shù)組下標(biāo)默認(rèn)是從 0 開始的,然后依次增加 1 ,當(dāng)然也可以指定從某個數(shù)字開始,因為我們前面定義了“html”是 10 ,所以后面的“html5”的下標(biāo)自然就是 11 了。小伙伴們現(xiàn)在明白了嘛?
上面的實例實現(xiàn)了一個二維數(shù)組的聲明,按照這樣的思路,可以聲明更高維數(shù)的數(shù)組
4、PHP數(shù)組的類型-數(shù)字索引數(shù)組
PHP 數(shù)字索引數(shù)組一般表示數(shù)組元素在數(shù)組中的位置,它由數(shù)字組成,下標(biāo)從 0 開始,數(shù)字索引數(shù)組默認(rèn)索引值就是從數(shù)字 0 開始的,不需要特別指定,PHP 會自動為索引數(shù)組的鍵名賦一個整數(shù)值,然后從這個值開始自動增量,當(dāng)然,也可以指定從某個位置開始保存數(shù)據(jù)。
數(shù)字索引數(shù)組的案例:
$arr = array("1"=>"html","2"=>"css");
print_r($arr);
輸出結(jié)果為:
索引數(shù)組使用無符號 32 位整數(shù)作為索引號。索引數(shù)組的最大大小為 2-1,即 4,294,967,295。如果要創(chuàng)建的數(shù)組大小超過最大值,則會出現(xiàn)運行時錯誤。
5、PHP數(shù)組的類型-關(guān)聯(lián)數(shù)組
除了數(shù)組索引數(shù)組,PHP還有一種關(guān)聯(lián)數(shù)組,在其它計算機語言中,一般叫做hash或者map
使用關(guān)聯(lián)數(shù)組,我們可以為每個數(shù)組元素指定一個關(guān)鍵詞,我們稱之為鍵(key)
關(guān)聯(lián)數(shù)組的鍵名可以是數(shù)字和字符串混合的形式,而不像數(shù)字索引數(shù)組的鍵名只能為數(shù)字。在一個數(shù)組中,只要鍵名中有一個不是數(shù)字,那么這個數(shù)組就稱之為關(guān)聯(lián)數(shù)組。
關(guān)聯(lián)數(shù)組的元素沒有特定的順序,你可以把它們想象為一組卡片。每張卡片上半部分是索引而下半部分是數(shù)值。
JavaScript的對象本質(zhì)就是一個關(guān)聯(lián)數(shù)組。
關(guān)聯(lián)數(shù)組案例如下:
$arr = array("first"=>"html","second"=>"css");
echo($arr['first']);
輸出結(jié)果為:
技巧:關(guān)聯(lián)數(shù)組的鍵名可以使任何一個整數(shù)或者字符串。如果鍵名是一個字符串,不要忘了給這個鍵名或者索引加上定界符—單引號(‘)或者雙引號(“)。對于數(shù)字索引數(shù)組,為了避免不必要的麻煩,我們也最好加上定界符!
6、PHP數(shù)組的類型-多維數(shù)組
定義二維數(shù)組:
<?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);//遞歸
獲取上面二維數(shù)組“4”這個元素的方式如下:
$arr = [[1,2,3],[4,5,6],[7,8]]; echo $arr[1][0];
總結(jié)
以上是生活随笔為你收集整理的php数组的定义、php数组的类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面向开发人员的Windows错误报告(W
- 下一篇: 如何提升网站打开速度?