1、Linux+PHP+MYSQL(4),第四章 PHP函数,PHP5中用户自定义函数 PHP5中按值传递参数 PHP5中按引用传递参数 PHP5中函数的默认参数值 PHP5中函数的可选参数 PHP5中函数的返回值,PHP5中用户自定义函数,定义一个函数的语法模式,/ / function_name: / 函数名称 / Description: / 函数功能、性能等的描述 / / 最小值 / 最大值 / 输入参数说明,包括每个参数的作用 / : / 函数返回值的说明 function intAverage($Min; $Max)function-body ,注意:PHP5是松散类型的数据类型,所以
2、函数中的参数类型不需要定义,这与C#和JAVA有明显区别,,PHP5中按值传递参数,按值传递参数,/ / function_name: salestax / Description: 根据销售税率和价格计算商品总价 / / 商品单价 / 销售税率 / : function salestax($ price; $ tax) $total = $price + ($ price * $tax)echo “Total cost: $total”; ,按值传递:函数参数通过值传递(因而即使在函数内部改变参数的值,它并不会改变函数外部的值)如果希望在函数外部范围内也能反映出这些修改,则可以按引用传递参数
3、。,建议在调用之前定义函数,PHP5中按引用传递参数,按引用传递参数,/ / function_name:add_some_extra / Description: 测试按引用传递参数的函数 / / 测试字符串变量 / : ,Result:This is a string, and something extra,PHP5中函数的默认参数值,可以为输入参数指定默认值,再没有提供其他值的情况下,就会把这个默认值自动赋给该参数。如果提供了其他值,新提供的值就会覆盖这个默认值。,/ / function_name: salestax / Description: 根据销售税率和价格计算商品总价 /
4、/ 商品单价 / 销售税率,一般指图书的销售税率 / : function salestax($ price; $ tax=.17) $total = $price + ($ price * $tax)echo “Total cost: $total”; ,注意:默认参数值必须是常数表达式;而不是指定函数调用或者变量等非常量值。,PHP5中函数的默认参数值,请注意当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;否则, 可能函数将不会按照预期的情况工作。,/ / function_name: makeyogurt / Description:测试函数的默认参数值 / / 测试参数1
5、/ 测试参数2 / : ,Warning: Missing argument 2 in call to makeyogurt() in /usr/local/etc/httpd/htdocs/ php3test/functest.html on line 41 Making a bowl of raspberry .,PHP5中函数的默认参数值,请注意当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;否则, 可能函数将不会按照预期的情况工作。,/ / function_name: makeyogurt / Description:测试函数的默认参数值 / / 测试参数1 / 测试参数
6、2 / : ,Result:Making a bowl of acidophilus raspberry.,PHP5中函数的可选参数,可以指定某个参数为可选(optional)参数,为此,这些参数需要放在参数列表末尾,而且要指定其默认值为空,如下:,/ / function_name: salestax / Description: 根据销售税率和价格计算商品总价 / / 商品单价 / 销售税率,一般指出版社捐赠图书 / : function salestax($ price; $ tax=“”) $total = $price + ($ price * $tax)echo “Total co
7、st: $total”; ,Result: 15.00,PHP5中函数的可选参数,如果指定了多个可选参数,可以选择性地传递参数,/ / function_name: salestax / Description: 根据销售税率和价格计算商品总价 / / 商品单价 / 销售税率1,一般图书 / 销售税率2,一般音像 / : function salestax($ price; $ tax1=“”, $ tax2=“”) $total = $price + ($ price * $tax1)+ ($ price * $tax2)echo “Total cost: $total”; ,PHP5中函数
8、的返回值,返回值返回值通过使用可选的返回语句返回。任何类型都可以返回,其中包括列表和对象。 这导致函数立即结束它的运行,并且将控制权传递回它被调用的行。,/ / function_name: square / Description:求一个数的平方 / / 需要求其平方的变量 / 返回一个数的平方: ,PHP5中函数的返回值,返回值返回值通过使用可选的返回语句返回。任何类型都可以返回,其中包括列表和对象。 这导致函数立即结束它的运行,并且将控制权传递回它被调用的行。,/ / function_name: small_numbers / Description:返回一个数组的测试函数 / / : 返回一个数组 ,通过数组的形式从函数中返回多个值,这种方法具体应用在从数据库中获取一条记录的信息,然后存放在数组中,最后返回给调用者,无论是在JAVA还是C#的程序开发中都非常普遍的应用。,