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

PHP 將一維陣列轉換為每 3 個連續值組成的二維陣列

     編輯:PHP 綜合知識

在 PHP 開發中,經常需要將一維陣列按固定長度分組為二維陣列。本文介紹一種簡潔高效的方法,利用 array_slice() 函數實現將一維陣列每 3 個元素分割為一個子陣列,組成二維結構。

核心代碼實現

<?php
$aaa = array('aa','bb','cc','dd','ee','ff','gg','hh','ii');
for($i=0; $i<3; $i++) {
    $bbb[] = array_slice($aaa, $i * 3, 3);
}
print_r($bbb);
?>

執行結果

Array
(
    [0] => Array
        (
            [0] => aa
            [1] => bb
            [2] => cc
        )

    [1] => Array
        (
            [0] => dd
            [1] => ee
            [2] => ff
        )

    [2] => Array
        (
            [0] => gg
            [1] => hh
            [2] => ii
        )
)

關鍵點解析

核心邏輯在於 $bbb[] = array_slice($aaa, $i * 3, 3); 這行代碼:

  • $i * 3 計算每組的起始偏移量(0, 3, 6)
  • 第三個參數 3 指定每組提取的元素數量
  • 若需改為每 2 個一組,只需將 3 改為 2 即可

進階應用:通用分組函數

為了提高復用性,可封裝為通用函數:

<?php
function chunkArray($array, $size) {
    $result = [];
    $length = count($array);
    for ($i = 0; $i < $length; $i += $size) {
        $result[] = array_slice($array, $i, $size);
    }
    return $result;
}

// 使用示例
$data = range('a', 'i'); // ['a','b','c','d','e','f','g','h','i']
$grouped = chunkArray($data, 3);
print_r($grouped);
?>

這種方法同樣適用於任意長度的分組需求,代碼更具靈活性與可維護性。

相關專題推薦

更多 PHP 陣列操作技巧,請參考:《PHP 陣列(Array)操作技巧大全》、《PHP 排序算法總結》、《PHP 常用遍歷算法與技巧總結》等專題。

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