PHP实现一维数组转二维数组的方法

在此方法中,我们将使用 array_chunk() 函数将一维数组转化为二维数组。此函数将会返回一个由指定大小的数组块组成的二维数组,其中每个数组块本身都是包含指定数量元素的一维数组。

PHP实现一维数组转二维数组的方法

方法一

在此方法中,我们将使用 array_chunk() 函数将一维数组转化为二维数组。此函数将会返回一个由指定大小的数组块组成的二维数组,其中每个数组块本身都是包含指定数量元素的一维数组。

代码示例:

<?php
// 原始一维数组
$fruits = array('apple', 'banana', 'orange', 'grape', 'peach', 'pear', 'pineapple');

// 转化后的二维数组
$fruits_chunked = array_chunk($fruits, 2);

print_r($fruits_chunked);
?>

结果输出:

Array (
    [0] => Array ( [0] => apple [1] => banana )
    [1] => Array ( [0] => orange [1] => grape )
    [2] => Array ( [0] => peach [1] => pear )
    [3] => Array ( [0] => pineapple ) 
)

如上所示,我们成功地将原始一维数组 $fruits 转化为了一个包含四个二维数组块的二维数组 $fruits_chunked。每个二维数组块包含两个元素,除了最后一个数组块只有一个元素。

方法二

在此方法中,我们将使用 foreach 循环遍历一维数组,并使用 array_push() 函数将每个元素添加到另一个新数组中。我们将使用一个内部循环来维护新数组中的嵌套数组,并检查是否达到了指定的大小。如果达到了指定大小,则将嵌套数组添加到另一个新数组中,并创建一个新的嵌套数组来存储更多的元素。

代码示例:

<?php
// 原始一维数组
$fruits = array('apple', 'banana', 'orange', 'grape', 'peach', 'pear', 'pineapple');

// 每个二维数组块包含的元素数量
$chunk_size = 2;

// 用于存储二维数组块的数组
$fruits_chunked = array();

// 遍历一维数组并将元素添加到二维数组块中
foreach ($fruits as $fruit) {
    // 如果当前二维数组块已满,则将其添加到外部数组中并创建一个新的二维数组块
    if (count($fruits_chunked[count($fruits_chunked) - 1]) === $chunk_size) {
        array_push($fruits_chunked, array());
    }

    // 将当前元素添加到当前二维数组块中
    array_push($fruits_chunked[count($fruits_chunked) - 1], $fruit);
}

print_r($fruits_chunked);
?>

结果输出:

Array (
    [0] => Array ( [0] => apple [1] => banana )
    [1] => Array ( [0] => orange [1] => grape )
    [2] => Array ( [0] => peach [1] => pear )
    [3] => Array ( [0] => pineapple ) 
)

同样,我们成功地将原始一维数组 $fruits 转化为了一个包含四个二维数组块的二维数组 $fruits_chunked。每个二维数组块包含两个元素,除了最后一个数组块只有一个元素。

以上两种方法都可以将一维数组转化为二维数组,具体使用哪种方法取决于开发者个人的需要和偏好。

本文标题为:PHP实现一维数组转二维数组的方法

基础教程推荐