php函数
1.函数概念:
函数是用来完成某种特定任务的可重用代码块; 函数可以使程序更具模块化,拥有良好的结构; 函数定义后在程序中可以重复调用; 函数分为内置函数和自定义函数 2. 内置函数 PHP系统提供了大量功能强大的函数,帮助我们解决各种问题; 3.创建自定义函数 function function_name(parameters) { //function body } function sayhello(){ echo 'hello'; } 函数用function关键字来声明; 函数名称是由字母或下划线开始,中间可以包含数字; 函数名不区分大小写,不过在调用函数的时候,通常使用其在定义时相同的形式; php不支持函数重载, 所以自定义函数不能和内置函数重名; 不能在一个文件中自定义同名的函数; 参数出现在括号中,如果有多个参数用逗号分隔; 4.函数调用 语法格式: fun_name(parameters); 注意不同语言的区别: 在Java等强类型语言中方法的名字严格区分大小写; C语言中的函数也是严格区分大小写; 但PHP到现在的版本,函数名称不区分大小写; 很多语言允许函数(方法)的重载,即函数有相同的名称但是函数参数不同; PHP不支持函数的重载; 5.传递参数 值传递(传值) 函数内对参数值的改变不会影响函数外部的值; 引用传递(传址) 有些情况下,可能希望在函数体内对参数的修改在函数体外也能反映; 使用引用传递参数要在参数前加上"&"符号; 变量本身传入,传入后的变量与原变量建立联系; 函数体内变量的变化,会影响到原变量本身; 默认参数值 可以为参数指定默认值,在没有提供其他值的情况下,则将默认值自动赋给该参数; 可选参数 可以指定某个参数为可选参数,这些参数需要放在参数列表的末尾,需且要指定其默认值为空; 如果指定了多个可选参数,可以选择性地传递某些参数; 6.从函数返回值 通常情况下,只依靠函数做某些事情还不够; 需要将函数的执行结果返回给调用者,这时可以使用 return 语句返回结果; return 语句变执行后,将使得函数立即结束运行,并且将控制权返回被调用的行; function mysquare($num){ if($num == ‘’){ return; } $res = $x * $x; return $res; } echo mysquare(4); 7. 递归函数 递归函数是一个可以重复调用自身的函数,直到满足某个条件为止; 递归函数常用来解决一些重复的问题; 递归应该特别注意条件,防止进入死循环中; function repayment($balance, $payment){ static $count = 1; $newbalance = $balance - $payment; echo $count.' '.$newbalance.'<br>'; if($newbalance > 0){ $count++; repayment($newbalance, $payment); }else{ exit; } } $money = 20000; $month_pay = 1000; repayment($money, $month_pay);变量作用域和生命周期 由于引入了函数,程序中变量的能见度发生了变化,即变量的作用范围发生了改变; 变量分为:全局变量,局部变量,静态变量; 1.局部变量 函数体内定义的变量为局部变量,只在函数体内可见; 局部变量的作用域:从声明它的那条语句开始到函数结束; $str = 'hello php'; echo '1:'.$str.'<br>'; function change(){ $str = 'hello everyone'; echo '2:'.$str.'<br>'; } change(); echo '3:'.$str; 2. 全局变量 函数体外定义的变量为全局变量,与局部变量相反,全局变量可以在程序的任何地方访问; 如果在函数体中需要使用全局变量,使用 global 关键字访问; 全局变量的作用域:从声明它的那条语句开始到文件末尾; $a = 23; function test() { global $a; $a = 34; return $a; } test(); echo $a; 3. 静态变量 局部变量在函数退出时会被撤消,与局部变量不同,静态变量在函数退出时不会丢失值,并且再次调用函数时还能保留这个值; 在变量名前面加上 static 关键字就可以声明一个静态变量; function keep_val(){ static $count = 0; $count++; echo $count; echo '<br>'; } keep_val(); keep_val(); keep_val(); 函数库 通常将常用的函数组织到函数库中,可以在以后类似的应用程序中重复使用。 需要调用时使用include()或require()将函数库包含到脚本中; include 与 require 1.include()语句将在其被调用的位置处包含一个文件。 include("init.php"); 2.include_once()的作用与include()相同,不过它会首先验证是否已经包含了该文件. 如果已经包含,则不再执行include_once(); 3.require() 4.require_once() require() 与 include() 之间的区别 如果require()包含文件出错时,脚本将停止执行。 而使用include()脚本将继续执行。

浙公网安备 33010602011771号