在 PHP 開發中,二維陣列轉置是常見的資料處理需求。本文透過完整程式碼示範如何將矩形二維陣列進行行列互換,適用於資料報表產生、矩陣運算等場景。
<?php
// 定義原始二維陣列 (2行3列)
$arr = array(array(1,2,3), array(4,5,6));
// 定義轉置後儲存陣列
$arr1 = array();
// 顯示轉置前資料
echo "轉置前:<br/>";
for($i=0; $i<count($arr); $i++) {
for($j=0; $j<count($arr[$i]); $j++) {
echo $arr[$i][$j] . " ";
}
echo "<br/>";
}
echo "轉置後:<br/>";
// 先確定轉置後的行數 (原列數)
for($j=0; $j<count($arr[0]); $j++) {
$arr1[$j] = array();
}
// 執行轉置核心邏輯
for($i=0; $i<count($arr); $i++) {
for($j=0; $j<count($arr[$i]); $j++) {
$arr1[$j][$i] = $arr[$i][$j];
}
}
// 顯示轉置後資料
for($k=0; $k<count($arr1); $k++) {
for($l=0; $l<count($arr1[$k]); $l++) {
echo $arr1[$k][$l] . " ";
}
echo "<br/>";
}
?>
實際專案中建議封裝為函式,並加入非矩形陣列檢查、多維度轉置支援等功能,提升程式碼復用性與健壯性。