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] => 系统合约钱包 ) )