zoukankan      html  css  js  c++  java
  • 记录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中的元组,获取参数列表函数
  • 相关阅读:
    Python---HTML常用标签
    Python---进阶---Tkinter---game
    工程师的URL大全
    docker安装小笔记
    SQL server查询语句
    非常好用的sersync同步工具
    运维自动化的标准
    使用ansible实现轻量级的批量主机管理
    emos邮件系统的web密码修改方法
    Linux 之 rsyslog+mysql+LogAnalyzer 日志收集系统
  • 原文地址:https://www.cnblogs.com/jun1019/p/10303287.html
Copyright © 2011-2022 走看看