php陣列可以用哪些鍵名

2023-01-08 18:00:25

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);  
?>
登入後複製

執行結果:

1.png

索引陣列的三種賦值方式:

  • 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);
?>
登入後複製

2.png

推薦學習:《》

以上就是php陣列可以用哪些鍵名的詳細內容,更多請關注TW511.COM其它相關文章!