首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 數組完全指南:類型、聲明、遍歷與多維實戰

     編輯:PHP 相關知識

PHP 數組本質:有序映射(Ordered Map)

PHP 數組同時支持 整數鍵(索引數組) 與 字符串鍵(關聯數組),且鍵值有序,底層是哈希表雙向鏈表實現,極其靈活強大。

兩大基本類型

索引數組(整數鍵)

$user = [];
$user[0] = 1;
$user[1] = '張三';
$user[2] = 'aaa@bb.com';
// 等同於
$user = [1, '張三', 'aaa@bb.com'];

關聯數組(字符串鍵)

$user = [
    'id'    => 1,
    'name'  => '張三',
    'email' => 'aaa@bb.com'
];
$user['name'] = '李四'; // 修改值

四種聲明方式對比

方式語法特點
直接賦值$arr[] = $val自動遞增整數鍵,靈活但易產生非連續鍵
array() 函數array(1, 2, 'a' => 3)PHP 5.4 前標準寫法,支持混合鍵
短語法 [][1, 2, 'a' => 3]PHP 5.4+ 推薦,簡潔易讀
range()/compact()range(1,10) compact('a','b')特定場景快速生成

關鍵行為規則(必須掌握)

  1. 鍵自動遞增:整數鍵未指定時,從現有最大整數鍵 + 1 開始
  2. 字符串數字鍵轉整數:'08' → 8,'07' → 7(去前導零),'1e2' → '1e2'(非純數字保留字符串)
  3. 浮點數鍵截斷:3.14 → 3,-2.9 → -2
  4. 布爾/Null 鍵轉換:true → 1,false → 0,null → ''
  5. 重複鍵後勝:同鍵多次賦值,最後一次生效
  6. 索引與關聯互不干擾:整數鍵序列與字符串鍵獨立共存

二維/多維數組構建


五大遍歷方式性能與適用場景

方式語法適用場景性能注意
foreach (推薦)foreach ($arr as $k => $v)所有數組,最通用⭐⭐⭐⭐⭐值傳遞默認拷貝,引用用 &$v
for 循環for($i=0;$i純連續索引數組⭐⭐⭐非連續/關聯數組會漏值
while + each()while(list($k,$v)=each($arr))極少用,內部指針操作⭐⭐PHP 7.2 棄用,8.0 移除
array_walkarray_walk($arr, fn($v,$k)=>...)需修改原數組值⭐⭐⭐回調參數順序 $value, $key
array_maparray_map(fn($v)=>..., $arr)轉換生成新數組⭐⭐⭐⭐不改原數組,函數式風格

實戰技巧集錦

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved