函数的定义与调用

函数的定义与调用

1.初始函数

函数:封装一段用于完成特定功能的代码。
通俗理解函数:可以完成某个工作的代码块,就像小朋友搭房子用的积木一样,可以反复使用,在使用的时候,拿来即用,而不用考虑它的内部构成。

函数分类:①内置函数(字符串操作函数、数组操作函数)②自定义函数

内置函数

//内置函数使用
$str='ABcd';
$upper = strtoupper($str);		// 调用strtoupper()函数将$str转换成大写
$lower = strtolower($str);		// 调用strtolower()函数将$str转换成小写
echo $upper;			// 输出结果:ABCD
echo $lower;			// 输出结果:abcd

自定义函数

<?php

//自定义函数的使用

function generate_table($row, $col)
{
     $html = '<table>';
     for ($i = 1; $i <= $row; ++$i) {
            $html .= '<tr>';
            for ($j = 1; $j <= $col; ++$j) {	
                  $html .= '<td></td>';
            }
            $html .= '</tr>';
    }
    return $html.'</table>';
}
// 生成4行8列的表格,并输出
echo generate_table(4, 8);
// 生成5行10列的表格,并输出
echo generate_table(5, 10);

函数的基本语法格式

function 函数名([参数1,参数2……]{

     函数体……
     
}
   /*
      函数的定义由一下4部分组成:
       1.关键字function
       2.函数名functionName
       3.参数
       4.函数体
    */
各部分说明:
  1. function:在声明函数时必须使用的关键字
  2. 函数名:要符合PHP的标识符,且函数名是唯一的,不区分大小写
  3. [参数1,参数2……]:外界传递给函数的值,它是可选的,多个参数之间使用逗号“,”分隔。
  4. 函数体:函数定义的主题,专门用于实现特定功能的代码段。
  5. 返回值:需要使用return关键字将需要返回的数据传递给调用者。
参数设置
    对于函数来说,参数的不同设置,决定了其调用和使用方式。
// 无参函数
function shout()
{
//返回值
   return‘come on’;
   
}
echo shout(); //输出结果:come on

// 注:适用于不需要提供任何的数据既可以完成指定功能的情况.

PHP默认支持按值传递参数,按此种方式定义的函数,在函数内部可以随意对用户传递的参数进行操作。

//按值传递参数

 //方式一
 function add($a,$b){
 $a=$a+$b;
 return $a;
  }
 echo add(5,7); //输出12


//方式二
function add($a,$b){
$a=$a+$b;
return $a;
}

$x=5;
$y=7;
echo add($x,$y)

在开发中,若需要函数修改它的参数值,则通过函数的引用传递。实现方式只需要在参数前面添加“&”符号即可。

//引用传参
$var ='food';
extra($var);
//输出结果:food and some extra
echo $var;

function extra(&$str){
$str.='and some extra';
}

函数参数在设置时,还可以为其指定默认值,也就是可选参数。当调用者未传递该参数时,函数将使用默认值进行操作。

//设置参数默认值
function say($p,$con='say "Hello"'){
return "$p $con";

}
//输出结果:Tom say "Hello"
echo sat('Tom');

//注:当使用默认参数时,默认参数必须放在默认参数的右侧,否则函数可能出错。

当用户调用函数时,如果传递的参数不是int类型,程序会将其强制的转换为int型后,再进行操作,这种方式称为弱类型参数设置。


//指定参数类型(弱)
function sum1(int $a,int $b){

 return $a+$b;

}
echo sum1(2.6,3.8); //输出结果5

除此之外,还可以将其设置为强制类型的参数,既当用户传递的参数类型不符合函数的定义,程序会报错提醒。


//指定参数类型(强)
declare (strict_types=1);
function sum2(int $a,int $b){
   return $a+$b;
}
echo sum2(2.6,3.8);//Fatal error……

变量的作用域

思考:变量在定义后就可以在函数中使用吗?
答案:默认情况下,函数中可以,函数外不可以。
解析:变量只有在其作用范围内才可以被使用,这个作用范围称为变量的作用域。

注:

1.在函数中定义的变量称为局部变量
2.在函数外定义的变量称为全局变量

 //示例:
 function test(){
 $sum=36;  //局部变量
 return $sum;
 }
 $sum=0;   //全局变量
 echo test();   //输出结果:36
 echo $sum;  //输出结果:0
         

思考:那么如何在函数中使用全局变量呢?
答案: 参数传递,global关键字和超全局变量$GLOBALS.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值