记录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中的元组,获取参数列表函数

 

转载于:https://www.cnblogs.com/jun1019/p/10303287.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值