PHP 一维数组转换多维数组封装方法


因为经常在模型中或者配置项定义下标一维数组数据,然后这一维数据又常常可能用作下拉列表展示使用,所以产生这个一维转多维数组偷懒封装方法。

PHP 一维数组转换多维数组封装方法

/**
 * 一维数组 转换多维数组
 * @param $arr
 * @param string $kName 多维数组 KEY
 * @param string $vName 多维数组 VALUE
 * @param bool $isString KEY 是否 输出 为字符串 -》 当有些下标 统一输出转换成 字符串时候 需要开为true
 * @return array
 */
public static function oneToMany($arr,$kName = 'id',$vName = 'title',$isString = false)
{
    $list = [];
    if (!empty($arr)){
        foreach ($arr as $key => $value){
            $list[] = [
                $kName => $isString ? (string)$key : $key,
                $vName => $value,// lang($value),
            ];
        }
    }
    return $list;
}

示例:

输入:

Array
(
    [1] => 用户充值钱包
    [2] => 系统入金钱包
    [3] => 系统出金钱包
    [4] => 系统合约钱包
)

输出:

Array
(
    [0] => Array
        (
            [id] => 1
            [title] => 用户充值钱包
        )

    [1] => Array
        (
            [id] => 2
            [title] => 系统入金钱包
        )

    [2] => Array
        (
            [id] => 3
            [title] => 系统出金钱包
        )

    [3] => Array
        (
            [id] => 4
            [title] => 系统合约钱包
        )
)


云天阁
非我而当者,吾师也;是我而当者,吾友也;谄谀我者,吾贼也。
搜索