默认参数的函数
<?php
/**
自定义一个函数名称为person,用于打印一个人的属性
@param string $name 人的名子属性字符串,默认值为"张三"
@param int $age 人的年龄属性,默认值为20
@param string $sex 人的性别属性,默认值为"男"
*/
function person( $name="张三", $age=20, $sex="男" ){
echo "我的名字是:{$name}, 我的年龄为:{$age}, 性别: {$sex} <br>";
}
person(); //在调用函数时三个参数都没有传值,全部使用默认参数
person("李四"); //第一个默认参数被传入的值覆盖,后两个参数使用默认参数
person("王五", 22); //前两个默认参数被传入的值覆盖,最后一个参数使用默认参数
person("贾六", 18, "女"); //在调用函数时,三个默认参数都被传入的值覆盖
?>
错误范例1
<?php
/**
自定义一个函数名称为person,用于打印一个人的属性
@param string $name 人的名子属性字符串,默认值为"张三"
@param int $age 人的年龄属性
@param string $sex 人的性别属性
*/
function person( $name="张三", $age, $sex){
echo "我的名字是:{$name}, 我的年龄为:{$age}, 性别: {$sex} <br>";
}
person("李四"); //第一个默认参数被传入的值覆盖,后两个参数没有传值,会出现2条警告报告
?>
错误范例2
<?php
/**
自定义一个函数名称为person,用于打印一个人的属性
@param string $name 人的名子属性字符串
@param int $age 人的年龄属性
@param string $sex 人的性别属性,默认值为“男”
*/
function person( $name=, $age, $sex="男" ){
echo "我的名字是:{$name}, 我的年龄为:{$age}, 性别: {$sex} <br>";
}
person("李四", 20); //前两个参数传值,没有为最后一个参数传值,则使用默认值“男”
?>
|