首頁 >後端開發 >PHP問題 >php數組類型有哪些

php數組類型有哪些

DDD
DDD原創
2023-06-01 10:41:191186瀏覽

php數組類型有兩種,分別是:1、索引數組,下標由數字組成,預設從0開始,每個數字對應一個數組元素在數組中的位置;2、關聯數組,下標由數值和字串混合的形式組成,如果一個陣列中有一個鍵名不是數字,那麼這個陣列就是關聯數組。

php數組類型有哪些

本教學作業系統:windows11系統、PHP8.1.3版本、DELL G3電腦。

php陣列類型

根據陣列鍵名資料類型的不同,我們可以把PHP陣列分成兩種:

  1. 以數字作為鍵名的稱為索引數組(Indexed Array);

  2. #以字串或字串、數字混合為鍵名的陣列稱為關聯數組(Associative Array )。

1、索引數組

索引數組的下標(鍵名)由數字組成,預設從0開始,每個數字對應一個陣列元素在陣列中的位置,不需要特別指定,PHP會自動為索引陣列的鍵名賦一個整數值,然後從這個值開始自動遞增。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array=array(1,2,3,4,5,6,7,8,9,10);
var_dump($array);//打印数组
?>

php數組類型有哪些

2、關聯陣列

#關聯陣列的下標(鍵名)由數值和字串混合的形式組成,如果一個數組中有一個鍵名不是數字,那麼這個數組就是關聯數組。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array=array("id"=>1,"name"=>"李华","age"=>23,"1"=>1,"id2"=>52);
var_dump($array);//打印数组
?>

php數組類型有哪些

關聯陣列的鍵名稱可以是任何一個整數或字串。如果鍵名是字串,則要給這個鍵名加上定界修飾符-單引號''或雙引號""。對於索引數組,為了避免混清,最好也加上定界符。

擴展知識:索引數組和關聯數組的相互轉換

#關聯數組轉索引數組

在php中,可以使用array_values()函數將關聯數組轉換為索引數組。

array_values($array) 函數的作用是傳回數組中所有元素的值,使用起來非常簡單,只有一個必選參數,就可以傳回一個包含給定數組中所有值的數組,但不保留鍵名。被傳回的陣列將使用索引數組的形式,數組的索引從 0 開始且以 1 遞增。

簡單來說,利用函數可以重置數組鍵名,將字串或數值混亂的鍵名轉為從0開始且以1遞增的數字鍵名。

array_values() 函數特別適合用於數組中元素下標混亂的數組,或用於將關聯數組轉換為索引數組。

<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_values($arr));
?>

php數組類型有哪些

索引數組轉關聯數組

在php中,可以利用array_combine()函數來將索引數組轉成關聯數組。

array_combine($keys,$values)函數透過合併兩個陣列的方式建立了一個新數組,其中$keys數組中的元素作為了新數組的鍵名,$values數組的元素為作為了新數組的鍵值。

但要注意的是,使用array_combine()函數建立數組時,$keys數組和$values數組中的元素個數必須一致,這才能讓鍵名和鍵值一一對應,否則就會報錯並返回FALSE。

且$keys數組不可為多維數組,否則也會報錯;但$values數組可以為多維數組。

<?php
header("Content-type:text/html;charset=utf-8");
$keys=array("a","b","c","d");
$values=array("red","green","blue","yellow");
var_dump($keys);
var_dump($values);
echo "使用array_combine()合并数组后:";
var_dump(array_combine($keys,$values));
?>

php數組類型有哪些

#

以上是php數組類型有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn