PHP学习笔记-PHP语言基础3

转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/50968247
本文出自:【顾林海的博客】

前言

大清早没什么事做,距离上班时间还早,就先把PHP的笔记做下吧,之前报了驾校,就练了几次车,马上要科目二了,感觉危险啊00。

函数

在开发过程中,经常要重复做某种操作,如数据查询、字符操作等,如果每个模块的操纵都要重新输入一次代码,不仅程序员头痛,而且对于后期维护有较大的影响。使用PHP函数即可解决这些问题。

定义和调用函数

函数,就是将一些重复使用的功能写在一个独立的代码块中,在需要时单独调用。创建函数的基本语法格式为:

function fun_name($str1,$str2...$strn){
     fun_body;
}
  • function:为声明自定义函数时必须使用到的关键字
  • fun_name:为自定义函数的名称。
  • str1... strn:为函数的参数。
  • fun_body:为自定义函数的主体,是功能实现部分。

当函数被定义好后,所要做的就是调用这个函数,调用函数的操纵十分简单,只需要引用函数名并赋予正确的参数即可。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP语言基础</title>

</head>
<body>

<?php header("Content-Type:text/html; charset=gb2312"); function example($num){ return "$num * $num =".$num*$num; } echo example(10); ?>

</body>
</html>

输出结果为: 10 * 10 =100

在函数间传递参数

在调用函数时,需要向函数传递参数,被传入的参数称为实参,而函数定义时的参数为形参。函数间参数传递的方式有按值传递、按引用传递和默认参数3种方式。

按值传递方式

将实参的值赋值到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回后,实参的值不会改变。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP语言基础</title>

</head>
<body>

<?php header("Content-Type:text/html; charset=gb2312"); function example($num){ $num=$num*2+2; echo "\$num=".$num."<p>"; } $num=1; example($num); echo "\$num=$num" ?>

</body>
</html>

输出结果:

$num=4

$num=1

按引用传递方式

按引用传递就是将实参的内存地址传递给形参。这时,在函数内部所有对形参的操作都会影响到实参的值。函数返回后,实参的值会发生变化。引用传递方式就是函数定义时在形参前加“&”符号。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>PHP语言基础</title> </head> <body> <?php header("Content-Type:text/html; charset=gb2312"); function example(&$num){ $num=$num*2+2; echo"函数内:\$num=".$num; } $num=1; example($num); echo"<p>函数外:\$num=$num"; ?> </body> </html> 

运行结果:

函数内:$num=4

函数外:$num=4

默认参数(可选参数)

可选参数,可以指定某个参数为可选参数,将可选参数放在参数列表末尾,并且指定其默认值为空。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP语言基础</title>

</head>
<body>

<?php header("Content-Type:text/html; charset=gb2312"); function values($price,$tax=""){ $price=$price+($price*$tax); echo"价格:$price<br>"; } values(100,0.25); values(100); ?>

</body>
</html>

运行结果:
价格:125
价格:100

从函数中返回值

通常,函数将返回值传递给调用者的方式使用关键字return或return()函数。return的作用是将函数的值返回给函数的调用者,即将程序控制权返回到调用者的作用域。如果在全局作用域使用return关键字,那么将终止脚本的执行。

变量函数

PHP支持变量函数,下面通过一个实例介绍变量函数的具体应用。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>PHP语言基础</title> </head> <body> <?php header("Content-Type:text/html; charset=gb2312"); function come(){ echo"来了<p>"; } function go($name="jack"){ echo"$name 走了<p>"; } function back($string){ echo"又回来了 ,$string<p>"; } $func="come"; $func();//使用变量函数来调用函数come() $func="go"; $func("Bill"); $func="back"; $func("Tom"); ?> </body> </html> 

运行结果:
来了
Bill 走了
又回来了 ,Tom

可以看到,变量函数的调用时通过改变变量名来实现的,通过在变量名后面加上一对小括号,PHP将自动寻找与变量名相同的函数,并且执行它。如果找不到对应的函数,系统就会报错。这个技术可用于实现回调函数和函数表等。

对函数的引用

函数间参数传递中的按引用传递的方式可以修改实参的内容。引用不仅可用于普通变量、函数参数,也可作用于函数本身。对函数引用,就是对函数返回结果的引用。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP语言基础</title>

</head>
<body>

<?php header("Content-Type:text/html; charset=gb2312"); function &example($tmp=0){ return $tmp; } $str=&example("examp"); echo $str."<p>"; ?>

</body>
</html>

运行结果:
examp

注意:和参数引用传递不同,对函数的引用必须在两个地方都使用“&”符,用来说明返回的是一个引用。

取消引用

当不在需要引用时,可以取消引用使用unset()函数,它只是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>PHP语言基础</title> </head> <body> <?php header("Content-Type:text/html; charset=gb2312"); $num=1234;//声明一个整型变量 $math=&$num;//声明一个对变量$num的引用$math echo "\$math is:".$math."<br>";//输出引用$math unset($math);//取消引用$math echo "\$math is:".$math."<br>";//再次输出引用 echo "\$num is:".$num;//输出原变量 ?> </body> </html> 

运行结果:

$math is:1234

$math is:

$num is:1234

你可能感兴趣的:(PHP,基础,函数,博客,笔记)