为了账号安全,请及时绑定邮箱和手机立即绑定

php 函数参数超过3个怎么处理合适

php 函数参数超过3个怎么处理合适

PHP
浮云间 2019-03-07 13:39:25
由于避免误解,我想把函数参数控制在3个以内,各位有啥好办法呢?
查看完整描述

8 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

用数组当参数

查看完整回答
反对 回复 2019-03-18
?
倚天杖

TA贡献1828条经验 获得超3个赞

用数组当参数,然后在函数里面处理这个数组参数,取到你想要的值:
function test($data){
$a = $data['a'];
$b = $data['b'];
$c = $data['c'];
return $a+$b+$c;
}
$arr = array(3,5,7);
test($arr);

查看完整回答
反对 回复 2019-03-18
?
临摹微笑

TA贡献1982条经验 获得超2个赞

面向对象编程

如laravel 请求处理函数

function getActicles(Request $request){
    return $response;
}
查看完整回答
反对 回复 2019-03-18
?
慕神8447489

TA贡献1780条经验 获得超1个赞

可以做兼容处理 如果调用函数时,传入一个数组,则键名就是参数的形参名
如果传入的不是一个数组,则按照顺序处理

查看完整回答
反对 回复 2019-03-18
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

参数过多的情况下,使用对象作为一个参数更好

查看完整回答
反对 回复 2019-03-18
?
慕森卡

TA贡献1806条经验 获得超8个赞

对象 or 数组

查看完整回答
反对 回复 2019-03-18
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

如果是使用的php版本大于5.6的话,可以使用如下方案
https://img1.sycdn.imooc.com//5c8f63cd00019c6608000255.jpg

如果php版本小于5.6的话,就使用楼上的数组方案

查看完整回答
反对 回复 2019-03-18
?
皈依舞

TA贡献1851条经验 获得超3个赞

class MenuConfig
{
    public $title;
    public $body;
    public $buttonText;
    public $cancellable = false;
}

$config = new MenuConfig();
$config->title = 'Foo';
$config->body = 'Bar';
$config->buttonText = 'Baz';
$config->cancellable = true;

function createMenu(MenuConfig $config): void
{
    // ...
}
查看完整回答
反对 回复 2019-03-18
  • 8 回答
  • 0 关注
  • 555 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信