什麼是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 個呢?解...