PHP學習筆記09(PHP陣列)

2021-08-21 07:00:55 字數 2645 閱讀 5676

什麼是php陣列

在php中,陣列可以在乙個變數中儲存多個數值。

如何建立陣列

在php中,使用array();來建立乙個陣列。在php中,有三種型別的陣列,分別為數值陣列、關聯陣列和多維陣列。數值陣列就是「帶有數字id鍵的陣列」。關聯陣列就是「帶有指定鍵的陣列,每個鍵關聯乙個值」。多維陣列顧名思義,就是包含多個陣列的陣列。

php數值陣列

數值陣列有兩種建立的方式,一種是自動分配id鍵,另一種是手動分配id鍵。自動分配id鍵的建立方式很簡單,例如

$test=array("array0","array1","array2");
這樣,0號鍵的值就是array0,1號鍵的值就是array1,2號鍵的值就是array2。第二種方式就是手動分配id鍵

$a[0]="array0";

$a[1]="array1";

$a[2]="array2";

這樣,我們也能實現和上面相同的效果。無論是哪種方式建立了陣列,呼叫方式都是一樣的。

echo $a[0];

echo $a[1];

echo $a[2];

count()函式的作用是返回陣列的長度,也就是元素的數量。有了這個函式,我們就可以通過for迴圈來遍歷輸出陣列了。

for($x=0;$x關聯陣列是使用者給陣列分配了指定鍵的陣列。它也有兩種定義方式。第一種就是使用「鍵」=>「值」的方法。

$age=array("peter"=>"35","ben"=>"30");

第二種方法就是

$age['peter']="35";

$age['ben']="30";

這兩種方法是等價的。在建立好陣列之後,我們就可以用這些鍵來對陣列進行訪問了。例如

echo "peter is ".$age['peter']."years old,and ben is ".$age['ben']."years old";
在遍歷關聯陣列的時候,我們需要用到foreach()函式。這個函式有兩種用法。第一種是只取值,不取下標。第二種是既取值又取下標。

只取值不取下標:foreach(陣列名字 as 值)。這行**的功能就是從陣列的第乙個元素開始,每次將他對應的值去除,放到as後面的那個變數裡面,再通過花括號裡面的語句對該變數進行操作。例如

<?php

$age=array("peter"=>"35","ben"=>"37","joe"=>"43");

foreach($age as $value)

?>

這段**講的就是從陣列的第乙個元素開始,把它的值放到$value裡面,再將$value輸出。對陣列中下乙個元素執行同樣的操作一直到陣列結束。注:每次迴圈過後,$value的值都會發生改變,即$value裡面存放的值始終是陣列的當前元素對應的值。

既取值又取下標:foreach(陣列名字 as 下標=>值)。該**的功能和上面一樣,只不過需要多出來乙個變數來儲存當前元素的下標。

<?php

$age=array("peter"=>"35","ben"=>"37","joe"=>"43");

foreach($age as $x=>$value)

?>//示例**引用自(runoob.com)

2018.9.1更新

foreach迴圈操作的是陣列的乙個備份,而並非陣列本身。

雜談

在陣列當中,鍵的資料型別可以是整型,也可以是字元型,而值則可以是任意的型別。在php中,鍵會有這樣幾種強制轉換。

1.包含有合法整型的字串會被強制轉換成整型。例如「8」這個字串在鍵裡面會被轉換成整型資料8,而「08」則不會被轉換成整型,因為它不是合法十進位制整數。

2.浮點型也會被強制轉換成整型。例如某個鍵為8.7,那麼在實際儲存當中便會被儲存為8.

3.布林值也會被轉換成整型,true被轉成1,false被轉成0。

4.null會被強制轉換為空字串,即「」。

如果在陣列的定義中,多個單元都使用了同乙個鍵名,則只有最後乙個有效,前面的都被覆蓋了。

鍵名是乙個可選引數,故可以預設,如果不填,php則使用之前最大的整數鍵名加上1來作為新的鍵名。例如

<?php

$array = array(

"a",

"b",

6 => "c",

"d",

);var_dump($array);

?>

這裡a所對應的鍵名就是0,b的鍵名為1,c的鍵名為6,而d的鍵名為7.

在編寫程式時,始終將用字串標識的陣列索引加上引號!

在編寫程式時,始終將用字串標識的陣列索引加上引號!

在編寫程式時,始終將用字串標識的陣列索引加上引號!

如果不加引號,雖然可以輸出,但是語法是錯誤的。在實際操作中,php會把沒有引號且不對應任何已知符號的字串轉成正常的字串(即加上了引號)。為了養成良好的習慣,還是要在索引上面加上引號。$a[peter]是錯的。$a["peter"]才是正確的,切記。

PHP 陣列 學習筆記

一 陣列的分類 1.索引陣列 下標是整數的陣列,下標從0開始依次類推 arr array a b c d echo arr 1 索引陣列的三種賦值方式 第一種 arr array a b 第二種 arr 2 c arr 5 f 第三種 arr2 array 0 蘋果 1 香蕉 10 橘子 索引陣列的...

PHP陣列學習筆記

php陣列學習筆記 php數學有三類,數值陣列 帶有數字id 鍵的陣列 關聯陣列 陣列中的每個 id 鍵關聯乙個值 多維陣列 包含乙個或多個陣列的陣列。如何宣告?name array a b c 這裡當然可以不用引號,它也被解析為字串,但是要注意,比如www.aaa.com這種形式,如果要他正確解析...

php學習筆記(八)陣列

陣列是特殊的變數,它可以同時儲存乙個以上的值。如果您有乙個專案列表 例如汽車品牌列表 在單個變數中儲存這些品牌名稱是這樣的 cars1 volvo cars2 bmw cars3 saab 不過,假如您希望對變數進行遍歷並找出特定的那個值?或者如果您需要儲存 300 個汽車品牌,而不是 3 個呢?解...