1.明确函数的作用,和用途

2.函数分类  ,  系统(内部),用户自定义

3.函数的  调用格式  :函数名称(参数1,参数2,参数3.....)

函数中的参数可以是  php支持的  任何类型

echo strlen("zppxphp");

echo "<br />";

echo phpinfo();

echo "<br />";

终止脚本的运行

die($str)

exit($str);

只接受一个参数

当传递的值为0 时执行

exit("你好");

die("你好");

echo "123";//不会输出

$fp = fopen("index_1.php","r") or die("不能打开文件");

echo $fp;

用户自定义函数

格式为

function 函数名称(参数,参数)  {

函数体

}

通过return 返回函数处理的结果

如:

无参数的函数

function text_fun(){

return "测试函数的返回值";

}

使用这个函数,直接用函数名称text_fun(),一定记得要加括号

echo text_fun();

深圳市中鹏培训内部资料  函数  之  PHP开发摘要  饶建平:330979060

有一个参数的函数

function square($x){

return ++$x;

}

$x = 5;

echo square($x);

有2个参数的函数,其中最后一个参数有默认值

function errorMessage($str,$type = 0){

return $str;

}

$str = "这是个  错误的信息显示";

echo errorMessage($str);

通过上面的例子,我们来看下函数的命名规则

函数的  命名规则

*1.命名规则比较宽松,可以支持大小写  ,但是都是一样的  如  FUN(),fun()时一样的

*2.在php中变量大小写是不一样的  ,$FUN与$fun是不一样的

*3.函数的参数没有  限制

*4.函数的命名理论可以是中文,但不建议

function FUN(){

return "函数名称的  大小写";

}

echo fun();//FUN();

function 中鹏培训(){

return "中鹏培训w";

}

echo 中鹏培训();

函数的  作用域  ,看下面的  例子

变量只在函数内部作用

function fun_a(){

$var = 2;

}

$var = 3;

fun_a();

echo $var; //结果为3

深圳市中鹏培训内部资料  函数  之  PHP开发摘要  饶建平:330979060

函数内部影响到外面的  变量

function fun_b(){

global $var;

$var = 2 ;

}

$var = 3;

fun_b();

echo $var;

function fun_c(){

global $var;

return $var;

}

$var = 2;

echo fun_c();

函数作用域的注意事项

*1.函数内部申明的变量,从函数声明开始到函数的尾部一直有效

*2.函数外部声明的变量  ,从声明开始到文件的  结束

*3.使用require,include 不影响作用范围

*4.如果变量在函数内部,只在函数作用域有效,如果不在,具有全局作用

*5.使用GLOBAL,GLOBALS[]数组可以声明全局

*6.函数是全局的  ,在函数内部定义的另一个函数,在任何地方都是有效的

*7.可以使用unset删除一个变量

从函数返回值  return

//返回引用的值

解释  返回这个变量的地址做这个  变量的代替  ,允许修改这个调用的  作用域,返回一个引

用的变量  ,

需要定义个函数去替换&

function &get_var($name){

return $GLOBALS[$name];

}

$str = "100";

$value = &get_var("str");

print $value;

function get_var_a(&$name){

$name = $name + $name ;

深圳市中鹏培训内部资料  函数  之  PHP开发摘要  饶建平:330979060

}

function get_var_b($name){

$name = $name + $name ;

}

$str = "100";

get_var_a($str);

echo $str;

function genPassword($min = 5,$max = 8){

$varstring = "abcdefghijklmnopqrstuvwxyz123456789";

$max_char = strlen($varstring)-1;

$length = mt_rand($min,$max);

for($i=0;$i<=$length;$i++){

$password .= $varstring[mt_rand(0,$max_char)];

}

return $password;

}

function get_num_fun($str,$str1,$str2,$str3=null){

//return func_num_args();//函数的参数个数

//return func_get_arg(2);//返回函数的参数值

//print_r(func_get_args());

}

echo get_num_fun(1,2,3,4);

静态变量  不会再函数外出现  ,通常变量时在每次使用时重新创建,而静态变量不会

function conutStatic($msg){

static $num;

//global $num;

$num++;

return "<br />静态变量num=".$num." ".$msg;

}

echo conutStatic("第1次");

echo conutStatic("第2次");

echo conutStatic("第3次");

echo conutStatic("第4次");

echo $num;//测试函数的  静态和全局

计算

给一个员工发工资,你要发给他100元、50元、10元、5元、  2元、  1元的钱,假如要

发给他1789元,写一个程序,打印出要发给他100元、50元、10元、5元、  2元、  1元

深圳市中鹏培训内部资料  函数  之  PHP开发摘要  饶建平:330979060

各是多少张?