陈力:传智播客古代 珍宝币 泡泡龙游戏开发第26讲:PHP函数

陈力:传智播客古代 珍宝币 泡泡龙游戏开发第26讲:PHP函数


    什么是PHP函数,如何通过function定义一个函数,如何理解函数的调用过程。这些问题都是网站建设中经常遇到的程序设计问题。在进行网站建设时,通常要在不同PHP文件之间通过require、require_once、include、include_once 进行函数包含,方便进行函数的调用。本节陈力:传智播客古代 珍宝币 泡泡龙游戏开发第26讲:PHP函数。

一、PHP函数
    PHP函数是PHP程序设计语言的核心内容,涉及界面、数据库等内容。函数是为完成某一功能的程序指令(语句)的集合称为函数。在PHP程序设计语言训,函数有自定义函数、系统函数等。
    例:输入两个数和一个运算符(加、减、乘、除),计算运算结果。
    在没有介绍函数之前,通常通过一段程序进行运算。代码如下:
<html>
</head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php
$num1=34;
$num2=90;
$oper=”+”;
$res=0;
Switch($oper){
  Case “+”:
$res=$num1+num2;
Break;
  Case “-”
$res=$num1-num2;
Break;
  Case “*”:
$res=$num1*num2;
Break;
  Case “/”:
$res=$num1/num2;
Break;
Default:
   Echo “运算符出错”;

}
Echo “计算结果为:”.$res;
?>
</html>
    如果在贵阳网站建设项目中很多地方都需要这个运算代码。则通过函数可以提高通用性。减少重复的代码,方便程序设计代码的修改。
    函数的定义通过function关键字进行定义。格式为function funname(para1,para2){} ,依次为关键字、函数名参数列表,函数内容为完成某一功能的指令集。结果可以通过return语句返回值。没有函数体的函数是豪无意义的。
Function jisuan($num1,$num2,$oper){
$res=0;
Switch($oper){
  Case “+”:
$res=$num1+num2;
Break;
  Case “-”
$res=$num1-num2;
Break;
  Case “*”:
$res=$num1*num2;
Break;
  Case “/”:
$res=$num1/num2;
Break;
Default:
   Echo “运算符出错”;
}
调用:
Jisuan(30,50,’+’);
    如果函数是存放在专用php文件中(funcs.php),则需要引用进来才能使用。方法是require ‘funcs.php’;即可。
注:当PHP程序遇到函数调用时,就会新开一个新栈,执行函数的代码,执行完成后返回继续执行后续的代码。

自定函数的基本语法结构
//参数列表,用处是接受数据.
function 函数名(参数列表){
 //函数体;(完成某一个功能的指令集合,这个必须有)
 //return 语句; (return 语句主要的用处是返回一个结果,可以没有)
}

二、php页面相互调用函数
(1)a.php页面要使用 b.php 定义的函数,可以用如下指令
require  require_once  include  include_once
举例 require 的用法
<?php
 require  (‘要引入的文件名’);
 $filePath=”abc.php”
require  $filePath;
require  ‘要引入的文件名(路径)’
?>

例子:
<?php
 //第一种用单引号
//require 'b.php';
 //第二种.通过变量引入
 //$fileName="b.php";
 //require $fileName;
 //第三种用括号
 require ('b.php');
 //这里就是调用函数
 abc();
 echo 'hello 网站建设';
?>

三、require和require_once区别
    require和require_once区别是:前者遇到即包含文件,只要有这个语句就会包含文件;后者会判断是否已经包含过了,如果包含过了,则不再包含文件。这样就节省资源,避免重复定义的错误,比如在一个PHP中有两个完全相同的函数的定义。可以用redeclare来重新声明。
Redeclare:再次声明。
例子:
c.php代码:
<?php
Echo “网站建设”;
?>
a.php代码:
<?php
   Require “c.php”;
   Require “c.php”;
?>
    即打印出两次“贵阳网站建设”。如果用require_once “c.php”;则只打印一次。

四、include 和 include_once的区别 
    Include意思是包含、包括的意思。include 和 include_once的作用和功能都可以把一个页面,包含到另外一个页面中。
基本用法:
<?php
 include  (‘被包含的文件’);
 include  ‘被包含的文件’;
 include $filePaht;
?>
这两个区别为,前者include遇到即包含文件,后者include_once会判断是否已经包含过了,如果包含过了,则不再包含文件。可以节省资源,避免重复定义的错误。

    include 和 require 区别 ( 同时 include_once 和 require_once 区别):相同的地方就是,都是可以引入别的页面。不同的地方是: include 如果出现了错误,会继续执行,require 出现错误,则会终止程序。我们在贵阳网站建设做项目的时候,基本上使用的require_once,在使用 requir_once/require 时, 应当放在 php程序设计代码最前面。


五、如何理解函数的调用过程
<?php
 //我们一个计算,+ - * / 的代码集合->函数
 //1. function 是一个关键字
 //2. jiSuan 函数名(由程序员取名)
 //3. $num1,$num2,$oper 是函数的参数列表(形参)
 function jiSuan($num1,$num2,$oper){
  //$res 表示计算的结果
  $res=0;
  switch($oper){
  case "+":
   $res=$num1+$num2;
   break;
  case "-":
   $res=$num1-$num2;
   break;
  case "*":
   $res=$num1*$num2;
   break;
  case "/":
   $res=$num1/$num2;
   break;
  default:
   echo '运算符号有误!';
    }
  //表示返回一个结果.
  return $res;
 }
 $a=12;
 $b=45;
 $type="+";
 $res=jiSuan($a,$b,$type);
 echo "res=".$res;
?>
函数调用的流程图:

软件设计,贵阳网站建设,PHP函数


为了加深大家对函数调用的理解我们,举例
<?php
 function abc($n){
  if($n>2){
   abc(--$n);
  }else{
   echo '$n='.$n."<br/>";
  }
 }
 abc(4);
?>
函数自己调用自己-》这个就称为递归调用。 

软件设计,PHP函数,贵阳网站建设

该函数执行后输出:
$n=2
$n=2
$n=3

六、函数使用注意问题
    函数的基本结构:
function 函数名(参数列表){
 //函数体;
 //return 语句;
}

(1)参数列表可以是多个参数。
(2)参数可以多个,数据类型可以是php程序设计语言支持的任意类型。
(3)函数名开头的字母,以_或者A_Z或者a-z ,不要用数字或者特殊字符开头。
(4)函数名不区分大小写。function Abc(){}和 function abc(){} 是同一个函数。
(5)一个自定义函数中的变量是局部的,函数外不生效。
案例:
function abc3()
 { 
  $a=45;
  echo 'a='.$a;
 }
 abc3();
 echo 'aa='.$a;//
这里会报一个错误:
Undefined variable: a。表示a没有值。
在php中有三种提示notice(注意)、waring(警告)、error(错误)等。
(6)使用global全局变量的时候,可使用在函数外的变量。
案例如:
$a=12;
 function abc3(){
 //global $a;//我要在abc3中使用到外层 $a;
 $a+=45;
 }
 abc3();
 echo $a;
此时,对$a的引用是通过地址来引用的。

(7)如果在函数中,我们不希望使用某个变量,或者是希望彻底的不再某个变量,则可以使用  unset(变量名) ; 将该变量彻底删除.
$a=12; 
 function abc3($a){
  unset($a);//表示不再abc3函数范围内,不在使用$a,后面需要全新定义;
  $a=45;
 }
 abc3($a);
 echo $a;

(8)在php函数中,我们可以给某些参数,赋一个默认的值。
function abc($b,$a=2){
 $res=$a+$b;
 return $res;
 }
 $e=70;
 echo abc($e).' ||';
 echo abc($e,90);
 $f=70;
 echo abc($e,$f);
(9)php传递变量参数的时候,默认是值传递,如果需要引用(地址)传递,可以使用 &变量名。

【推荐阅读】陈力:传智播客古代 珍宝币 泡泡龙游戏开发第26讲:PHP函数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值