zoukankan      html  css  js  c++  java
  • php的函数参数按照从左到右来赋值

    PHP 中自定义函数参数赋默认值  

    2012-07-07 13:23:00|  分类: php自定义函数,默|举报|字号 订阅

     
     

    php自定义函数接受参数的时候可以直接给赋默认值

    function TestStr($str)
    {
    return $str."是一个字符串";
    }

    echo TestStr("abcdef")."</br>";

    上面这个自定义函数接受一个参数,如果我们调用的时候 TestStr() ;不给参数会是什么情况呢?

    直接报错:Warning: Missing argument 1 for TestStr()

    所以开发的过程中为了避免上面的错误我们一般要在自定义函数的时候给参数赋默认值,如下

    function TestStr2($str="kkkkk")
    {
    return $str."是一个字符串";
    }

    现在调用 TestStr2() 不出错,直接输出 kkkkk是一个字符串,当然你传出参数后会替换掉默认参数.

    第三种情况:

    有2个以上参数的时候,如果不是全部给出默认值,一定要按照从右到左的参数依次给出默认值.如下就是错误的事例

    function TestStr3($str ='mmmmm' ,$para)
    {
    return $str."和".$para."都是字符串";

    上面并没有遵循从右到做给出默认值,而是最左边的给出了一个默认值.

    当我们调用函数的时候 TestStr3("第一个参数"); 我们期望的是第一个参数以默认值代替,第二个参数用传入参数代替.但是不是这样的,替换参数的顺序是从左到右.所以第二个参数不但没有传入值,连默认值都没有,所以直接报错

    PHP 中自定义函数参数赋默认值 - moce - 走!不要让自己的脚步停下

    正确的默认值应该是这样的

    function TestStr3($str,$para='mmmmm')
    {
    return $str."和".$para."都是字符串";
    }

    然后输出:

    第一个参数和mmmmm都是字符串

  • 相关阅读:
    【认证】Apache Shiro对象概念
    【Java基础】char
    【Http】keepalive
    【Nginx】Nginx处理请求过程
    【CSS】块级元素和行内元素
    未A,或用水法,或不熟的题
    2017初二上期中考试总结
    动态规划中的单调队列优化_补充
    NOIP2017普及组翻车记
    对拍模板
  • 原文地址:https://www.cnblogs.com/sengling/p/5488856.html
Copyright © 2011-2022 走看看