php-处理扫码带进来的参数及URL参数提取

2021-04-07 15:58 阅读:2499

代码:

    /**
     * 提取参数
     * @param string $param 参数
     * @param string $k 整体分割符 默认为:&
     * @param string $p 单个分隔符 默认为:=
     * @return array
     */
    public static function getUrlParams($param, $k = null, $p = null) {
        if (!is_string($param)) return [];
        $k = $k ? $k : '&'; //整体参数分隔符
        $p = $p ? $p : '='; //单个参数分隔符

        $value = array();

        if (strpos($param, $k) !== false) {
            $param = explode($k, $param);
            foreach ($param as $itemValue){
                if (strpos($itemValue, $p) !== false) {
                    $item = explode($p, $itemValue);
                    $value[$item[0]] = $item[1];
                }
            }
        } elseif (strpos($param, $p) !== false) {
            $item = explode($p, $param);
            $value[$item[0]] = $item[1];
        } else {
            return [];
        }

        return $value;
    }

使用:

public function test(){
        $scene = "name:zs;age:10";
        $sceneData = self::getUrlParams($scene, ';', ':');
}

$sceneData = [name'=>'zs','age'=>10];

{{commentTotal}} 条评论

{{item.nickname}}
{{item.create_date}}
{{item.content}}
- 上拉或点击加载更多 -
- 加载中 -
- 没有更多了 -
- 本文链接 -