• 记录php中一种骚操作


    $options = array(
        'config' => array(
            'aaa' => 111,
            'bbb' => 222,
        ),
        'headers' => array(
            'Content-Type' => 'application/json;charset=utf-8'
        ),
        'params' => array(
            'p1' => 'hello',
            'p2' => 'world',
        ),
        'signOptions' => array(
            'ccc' => '333',
        ),
    );
    
    list($config,$headers,$params,$signOptions) = parseOptions($options,'config','headers','params','signOptions');
    echo '<pre>';
    print_r($config);
    echo '<br>';
    print_r($headers);
    echo '<br>';
    print_r($params);
    echo '<br>';
    print_r($signOptions);
    echo '<br>';
    
    
    
    function parseOptions(array $options) {
        return doParseOptions($options,array_slice(func_get_args(), 1),false);
    }
    
    function doParseOptions(array $options,array $args,$allowExtraOptions) {
        $result = array();
        foreach ($args as $arg) {
            if (isset($options[$arg])) {
                $result[] = $options[$arg];
                unset($options[$arg]);
            } else {
                $result[] = null;
            }
        }
        if (!$allowExtraOptions && count($options) > 0) {
            throw new InvalidArgumentException(
                'Unexpected options:' . implode(',', array_keys($options))
                . ' Acceptable options are:' . implode(',', $args)
            );
        }
        return $result;
    }

    输出结果:

    Array
    (
        [aaa] => 111
        [bbb] => 222
    )
    
    Array
    (
        [Content-Type] => application/json;charset=utf-8
    )
    
    Array
    (
        [p1] => hello
        [p2] => world
    )
    
    Array
    (
        [ccc] => 333
    )

    关注点:

    php中的元组,获取参数列表函数
  • 相关阅读:
    每周工作进度及工作量统计
    debug阶段工作期站立会议2(进度推进)
    new NABCD
    事后诸葛亮会议 (尸体解剖)
    debug阶段工作期站立会议1
    用户使用报告
    Scrum会议10(Beta版本) 补交
    历年学生作品点评
    关于词频统计的效能测试
    敏捷开发之Scrum站立会议
  • 原文地址:https://www.cnblogs.com/jun1019/p/10303287.html
Copyright © 2020-2023  润新知