一个有意思的函数extract

17-11-14 15:48 字数 413 阅读 2393 已编辑

一朋友说php有bug,无法实现这样的功能。他是这样说的。


比如一个函数 function get($a=1, $b=2, $c=3) {echo $a.$b.$c;} 有3个可选参数

我执行这个get名字的函数时无法自定义指定哪个参数用它的默认参数值:
这个第一个用自定义值,第2,3参数用默认值完美运行: get(77,88); //显示77883 正确

但是怎么只第二个用它的默认值啊:
get(77, , 99); //直接程序崩溃
get(77, null, 99); //错误显示:7799
我想让它显示是: 77299


其实php是可以实现这样的功能的。

function test_get($arg_arr)  
{  
    extract($arg_arr);  
    if (empty($a)) {  
        $a = 1;  
    }  
    if (empty($b)) {  
        $b = 2;  
    }  
    if (empty($c)) {  
        $c = 3;  
    }  

    echo $a . $b . $c;  
}  

test_get(array('a' => 77, 'c' => '99'));  
0人点赞>
关注 收藏 改进 举报
2 条评论
排序方式 时间 投票
charlan

...

Up骚年
@charlan 兄台这是何意😆
请登录后发表评论
站长 @ 十七度
文章
380
粉丝
23
喜欢
191
收藏
31
排名 : 1
访问 : 130.07万
私信