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

PHP 陣列基礎操作入門:定義、訪問、遍歷、初始化、鍵值對、多維陣列實戰代碼

     編輯:PHP 綜合知識

1. 簡單定義與訪問 (索引陣列)

<?php
$address = [];
$address[0] = "福州";
$address[1] = "廈門";
$address[2] = "漳州";
$address[3] = "泉州";
$address[4] = "寧德";
$address[5] = "南平";
$address[6] = "龍巖";

echo "我現在住在 $address[1]"; // 廈門
  • 索引從 0 開始,連續整數。
  • 可用 count($address) 獲取長度 (7)。

2. for 循環遍歷 (經典 C 風格)

for ($index = 0; $index < count($address); $index++) {
    echo "第 $index 個地區: $address[$index]<br>";
}

缺點:需手動管理索引、count() 每次調用 (優化:預存長度)。現代首選 foreach。

3. 陣列初始化 + 日期函數結合

$arrMonth = [
    "January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December"
];
date_default_timezone_set("UTC"); // 設置時區
$month = (int)date("m"); // 當前月份數字 1-12
echo "當前是第 $month 月,英文: " . $arrMonth[$month - 1]; // 索引需 -1

4. 定義鍵值對 (關聯陣列) 並通過鍵訪問

$arrMonth = [
    "Jan" => "January", "Feb" => "February", "Mar" => "March",
    "Apr" => "April", "May" => "May", "Jun" => "June",
    "Jul" => "July", "Aug" => "August", "Sept" => "September",
    "Oct" => "October", "Nov" => "November", "Dec" => "December"
];
echo "Aug 對應: " . $arrMonth["Aug"]; // August

5. foreach 遍歷關聯陣列 (鍵值同時獲取)

foreach ($arrMonth as $key => $value) {
    echo "鍵: $key, 值: $value<br>";
}

6. 多維陣列定義與訪問 (二維)

$arrArea = [
    "華東地區" => ["福建", "浙江"],
    "華北地區" => ["北京", "天津"]
];
echo "華東第一個: " . $arrArea["華東地區"][0]; // 福建
// 訪問邏輯:$arrArea[大區鍵][小區索引]

現代 PHP 陣列寫法補充 (短語法 + 解構)

<?php
// 短陣列語法 (PHP 5.4+)
$arr = [1, 2, 3];
$assoc = ['a' => 1, 'b' => 2];

// 解構賦值 (PHP 7.1+)
[$first, $second] = $arr;
['a' => $aVal, 'b' => $bVal] = $assoc;

// 陣列合併
$merged = [...$arr, ...[4, 5]]; // PHP 7.4+
// 或
$merged = array_merge($arr, [4, 5]);

// 陣列解包傳參
func(...$arr);

常用陣列函數速查

功能函數示例
長度count($arr)count([1,2,3]) // 3
檢查鍵存在array_key_exists('k', $arr) / isset($arr['k'])isset($arr['a']) (更快,但值為 null 返回 false)
檢查值存在in_array($val, $arr)in_array('a', ['a','b'])
獲取所有鍵array_keys($arr)
獲取所有值array_values($arr)重置索引
翻轉鍵值array_flip($arr)['a'=>1] -> [1=>'a']
刪除元素unset($arr['k'])不重置索引
切片array_slice($arr, 0, 2)保留鍵需 true 參數
篩選array_filter($arr, fn($v)=>$v>2)PHP 7.4 箭頭函數
映射轉換array_map(fn($v)=>$v*2, $arr)

總結

PHP 陣列是**有序映射 (Ordered Map)**,同時支援列表 (索引) 和字典 (關聯) 兩種語義。掌握 短語法定義、foreach 遍歷、鍵值訪問、多維嵌套、常用函數 是入門必修課。現代 PHP (7.1+) 更提供了解構賦值、箭頭函數、展開運算符等語法糖,大幅提升代碼表達力。

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