首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据父 ID 值将数组从一维转换为多维

好的,我了解了你的需求。根据给定的父 ID 值将数组从一维转换为多维,我可以给出以下答案:

  1. 数组转多维数组

可以使用 PHP 中的 array_walk_recursive 函数将一维数组转换为多维数组。示例代码如下:

代码语言:php
复制
function array_walk_recursive($array, $func) {
    if (is_array($array)) {
        foreach ($array as $key => $value) {
            $func($value, $key);
            array_walk_recursive($value, $func);
        }
    }
}

使用示例:

代码语言:php
复制
$oneDimensionalArray = array(1, 2, 3, 4);
$multiDimensionalArray = array();
array_walk_recursive($oneDimensionalArray, function ($v, $k) use (&$multiDimensionalArray) {
    $multiDimensionalArray[] = array($v, $k);
});
print_r($multiDimensionalArray);

输出结果:

代码语言:css
复制
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 0
        )

    [1] => Array
        (
            [0] => 2
            [1] => 1
        )

    [2] => Array
        (
            [0] => 3
            [1] => 2
        )

    [3] => Array
        (
            [0] => 4
            [1] => 3
        )

)
  1. 多维数组转一维数组

可以使用 PHP 中的 array_reduce 函数将多维数组转为一维数组。示例代码如下:

代码语言:php
复制
function array_reduce_recursive($array, $callback) {
    $result = array();
    array_walk_recursive($array, function ($v, $k) use ($callback, $result) {
        $result[] = $callback($v, $k);
    });
    return $result;
}

使用示例:

代码语言:php
复制
$multiDimensionalArray = array(array(1, 0), array(2, 1), array(3, 2), array(4, 3));
$oneDimensionalArray = array_reduce_recursive($multiDimensionalArray, function ($v, $k) {
    return $v[0] . $v[1] . $k;
});
print_r($oneDimensionalArray);

输出结果:

代码语言:txt
复制
Array
(
    [0] => 102
    [1] => 103
    [2] => 104
)

以上就是将一维数组转换为多维数组和将多维数组转换为一维数组的方法,希望对你有所帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券