技术&日志

全国行政数据处理

php处理全国省市区 数据从ecshop导入的

/**
     * 获取全国省市区列表(格式化后)
     */
    public function getRegionList()
    {
        $data = CoreRegion::find()->select(['region_id', 'region_name', 'parent_id', 'region_level'])->asArray()->all();
        $data = $this->assembleRegionData($data);
        return $data;
    }

    /**
     * 重组地区数据
     */
    public function assembleRegionData($data, $pid = 0)
    {
        $list = [];
        foreach ($data as $k => $v) {
            if ($v['parent_id'] == $pid) {
                // 继续查找其子市区县
                $v['list'] = $this->assembleRegionData($data, $v['region_id']);
                // 如果子地区为空,则unset掉
                if (empty($v['list'])) {
                    unset($v['list']);
                }
                $list[] = $v;
            }
        }
        return $list;

    }

相关资料

PHP格式化全国省市区列表

发表评论