php數組可以用數字鍵名,也可用字符串鍵名。在PHP中,支持以數字為鍵名的索引數組,也支持以字符串或字符串、數字混合為鍵名的關聯數組。索引數組的下標(鍵名)由數字組成,默認從0開始,每個數字對應一個數組元素在數組中的位置,不需要特別指定,PHP會自動為索引數組的鍵名賦一個整數值,然后從這個值開始自動遞增。

本教程操作環境:windows7系統、PHP8版、DELL G3電腦
在PHP中,數組 array 是一組有序的變量,其中每個值被稱為一個元素。每個元素由一個特殊的標識符來區分,這個標識符稱為鍵(也稱為下標)。
數組中的每個實體都包含兩項,分別是鍵(key)和值(value)。可以通過鍵值來獲取相應的數組元素,這些鍵可以是數值鍵,也可以是關聯鍵。如果說變量是存儲單個值的容器,那么數組就是存儲多個值的容器。
PHP 數組比其他高級語言中的數組更加靈活,不但支持以數字為鍵名的索引數組,而且支持以字符串或字符串、數字混合為鍵名的關聯數組。
注意:PHP中數組其實是不區分索引還是關聯數組,都是根據鍵名找到對應的鍵值。
1、索引數組
索引數組存儲一系列經過組織的單個或多個值,其中的每個值都可以通過使用一個無符號整數值進行訪問。
索引數組的下標(鍵名)由數字組成,默認從 0 開始,每個數字對應一個數組元素在數組中的位置,不需要特別指定,PHP 會自動為索引數組的鍵名賦一個整數值,然后從這個值開始自動遞增。
索引數組初始化例:
<?php header("Content-type:text/html;charset=utf-8"); //創建一個索引數組,索引數組的鍵是“0”,值是“蘋果” $fruit=array("蘋果","香蕉"); var_dump($fruit); ?>
運行結果:

索引數組的三種賦值方式:
-
array[0]='蘋果'; -
$arr=array('0'=>'蘋果'); -
$arr=array('蘋果');
例:
<?php //請創建一個數組變量arr,并嘗試創建一個索引數組,鍵是0,值是蘋果 $arr=array(0=>'蘋果'); if( isset($arr) ) {print_r($arr);} ?>
用for與foreach可以訪問到數組里面的元素,因for比較容易下面只舉使用foreach的例子,
<?php $fruit=array('蘋果','香蕉','菠蘿'); foreach($fruit as $key=>$value){ echo '<br>第'.$key.'值是:'.$value; } ?>
運行結果:
第0值是:蘋果 第1值是:香蕉 第2值是:菠蘿
注:這里$key是鍵值$value則是元素值
2、關聯數組
“關聯數組”是一種具有特殊索引方式的數組。使用字符串或者其他類型的值(除了NULL)來索引它。
其實關聯數組和索引數組的差別只是在鍵值上,關聯數組的鍵值是字符串,并且是人為的規定,例如:
<?php //創建一個關聯數組,關聯數組的鍵“orange”,值是“橘子” $fruit=array('orange'=>'橘子'); echo $fruit['orange']; ?>
其余初始化,賦值,foreach的用法基本相同。
擴展知識:關聯數組轉索引數組
在PHP中,可以使用array_values()函數來將關聯數組轉為索引數組。
array_values() 函數的作用是返回數組中所有元素的值,使用起來非常簡單,只有一個必選參數,就可以返回一個包含給定數組中所有值的數組,但不保留鍵名。被返回的數組將使用索引數組的形式,數組的索引從 0 開始且以 1 遞增。
array_values() 函數特別適合用于數組中元素下標混亂的數組,或者用于將關聯數組轉化為索引數組。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(1=>"1","a"=>"",2=>"2","b"=>0,"c"=>"blue"); echo "原關聯數組:"; var_dump($arr); $res=array_values($arr); echo "轉換后的數組:"; var_dump($res); ?>

推薦學習:《PHP視頻教程》
站長資訊網