陣列是 PHP 最重要的資料結構之一,本文系統整理建立、鍵值、存取、修改、銷毀、多維陣列等核心操作,並說明索引陣列與關聯陣列的異同。
// array() 語法
$arr1 = array(18, 20, 25); // 索引陣列
$arr2 = array("wang"=>18, "li"=>20, "zhang"=>25); // 關聯陣列
$arr3 = array(); // 空陣列
// 短陣列語法 (PHP 5.4+)
$arr1 = [18, 20, 25];
$arr2 = ["wang"=>18, "li"=>20, "zhang"=>25];
// 動態新增
$arr1[] = 18;
$arr2["wang"] = 18;
echo $arr1[0]; // 18
echo $arr2["wang"]; // 18
// 除錯輸出完整結構
print_r($arr2);
// Array ( [wang] => 18 [li] => 20 [zhang] => 25 )
var_dump($arr2);
// array(3) { ["wang"]=> int(18) ["li"]=> int(20) ["zhang"]=> int(25) }
$arr2["wang"] = $arr2["wang"] + 10; // 28 // 現在:[wang]=>28, [li]=>20, [zhang]=>25
isset($arr2["wang"]); // true
isset($arr2["chen"]); // false
array_key_exists("wang", $arr2); // true(即使值為 null 也回傳 true)
unset($arr1[0]); // 刪除單一元素 unset($arr1); // 刪除整個陣列變數
$all = [
"fruits" => ["a"=>"orange", "b"=>"banana", "c"=>"apple"],
"ages" => [18, 20, 25]
];
echo $all["fruits"]["c"]; // apple
echo $all["ages"][0]; // 18
$merged = array_merge($a, $b); 或 $merged = $a + $b;(鍵名不重複時)$unique = array_unique($arr);shuffle($arr);(重新索引)$flipped = array_flip($arr);array_keys($arr) / array_values($arr)熟練掌握陣列操作是 PHP 開發基石,建議配合官方文件 Array Functions 深入學習 70+ 內建函式。