03 php,php语法------03 php 函数

php 函数通过关键字 function创建函数。

function functionName(){

//代码段

}

php 函数准则:

*函数的名称应该提示出它的功能;

*函数名称以字母或者下划线开头(不能以数字开头)

1、通过php函数方法输出“Hello World !”

function printHello(){//声明printHello函数

echo "Hello World !";//打印“Hello World !”

}

printHello();//调用函数

?>

2、带参函数。因为php是若类型函数,所以,在调用函数时,参数个数可以不等于函数声明时的参数个数。同时,php函数允许有默认值。具体见下段代码:

function add($num1, $num2) {//函数带两个参数

return $num1+$num2;//返回两个参数的和

}

echo add(1, 2);//两个参数。结果是:3

echo "
";

echo add(1);//一个参数,此时会给出warning,但是也能输出结果。结果是:1

echo "
";

echo add(1,2,3);//三个参数,前两个游戏,第三个参数无限.结果是:3

echo "


";

?>

function add2($num1=0,$num2=1){//函数带两参数,第一个参数默认值是0,第二个参数默认值是1

return $num1+$num2;

}

echo add2(1,2);//两个参数,结果是3

echo "
";

echo add2(1);//一个参数,第二个参数没给值,使用默认值1。结果是:2

echo "
";

echo add2();//两个参数均适用默认值,结果是:1

?>

上段代码的运行结果如下图所示:

60d71001311ed6c2c5faee9e290b055b.png

3、全局变量。PHP函数内部的变量称为局部变量,函数外部的变量称为全局变量。函数内部访问不到全局变量。

函数变量有自己的作用域。

函数内部访问不到全局变量。

在函数中引用全局变量,需要使用:global 关键字。

$i=10;

function hello() {

$i=100;// 函数变量有自己的作用域,在该函数内部有效

echo $i;// 访问不到全局变量,输出局部变量$i,输出结果是100

}

hello();

echo "
";

echo $i;//输出结果是全局变量$i的值10

?>

若要在函数内部引用全局变量,使用global关键字:

$i=10;

function hello() {

global $i;// 使用global关键字在函数中引用全局变量

echo $i; //全局变量$i,10

$i=100;//赋值

}

hello();

echo "
";

echo $i;//100

?>

4、静态变量:在整个页面中,函数多次调用,某函数内的值可以保存状态(相对函数而言,值永久存在,函数外无效)。静态变量使用 static 关键字。

// 在整个页面中,函数多次调用,其函数内的值可以保存状态——静态变量(相对于函数而言,值永久存在)

function hello() {

static $i=100;

echo $i;

$i++;

}

hello();//第一次调用hello()函数,输出 100。然后执行自增操作,此时$i=101。(先输出,再自增)

echo "
";

hello();//第二次调用hello()函数,因为$i是静态变量,输出101。然后自增,此时$i=102

echo "
";

hello();//第三次调用hello(),输出102。然后自增,此时$i=103

echo "


";

echo $i;//直接输出$i,因为前面三次输出的$i是输出hello()函数中的静态变量。此时,在函数外调用$i,所以,不存在。

?>

5、返回值和返回参:返回值使用return关键字;返回参使用&关键字。

这里的返回参类似于其他语言的地址传递。

注意:php中,函数名的大小写不区分。变量名严格区分大小写。

// 函数有返回值,通过return

// 还可以有返回参(同时也作为输入参数),参数也可以被返回给调用者,通过&$参数名

function hello($name, &$msg) {

echo $msg,"


";

//$msg="Hello, $Name :)";// ERROR 形参名严格区分大小写

$msg="Hello, $name :)";

return strtoupper($name);//strtoupper(字符串),将字符串中字母全部转为大写

}

$m="Hi";

echo Hello("zhangsan", $m);// 函数名大小写不区分

echo "
";

echo $m;

?>

上述代码执行结果如下:

Hi //echo $msg

ZHANGSAN //echo hello()的返回值

Hello, zhangsan :) //echo $msg。因为函数的第二个参数$msg前使用了&符号,类似地址传递

6、PHP函数的两个内置函数:func_num_args( ) 和 func_get_args( )

func_num_args( ):函数参数的个数;

func_get_args( ):函数参数数组

function add() {

//echo func_num_args();// 参数的个数

if (func_num_args()==0)

return 0;

else {

$sum=0;

foreach (func_get_args() as $arg) {//循环函数参数的数组

$sum+=$arg;

}

return $sum;

}

}

?>

上述代码中,add()函数的作用是返回函数中参数的总和。如果没有参数,则返回0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值