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陣列可以用哪些鍵名的詳細內容,更多請關注TW511.COM其它相關文章!