PHP编程之函数练习

函数:封装一段用于完成特定功能的代码

系统函数:php编程系统自带的函数

自定义函数:指需要自己来定义的函数,可以自己设置函数名称,参数数量以及执行代码;关键字为function

参数设置:

1、无参函数:适用于不需要提供任何数据即可完成指定功能的情况

代码:

<?php

function shout()

{

    return 'come on';

}

echo shout();// 输出结果:come o

?>

结果:

2、按值传递参数:在函数内部可以随意对用户传递的参数进行操作

代码:

<?php

function setPoint($x,$z,$y=0){

    echo "{".$x.",".$y.",".$z."}";

}

setPoint(5,90);


 

?>

结果:

注意:默认值必须是常量表达式,不能是变量。且带默认值的参数只能位于参数列表的最后,即一个带有默认值参数的右边不能出现没有指定参数值的参数

3、引用传参:通过函数参数的引用传递来实现函数参数值的修改

代码:

<?php

function modify(&$string)

{

    $string = '我这下雪啦';

}

$str = '你那下雪啦吗?';

modify($str);

echo $str;  // 输出:'你那下雪啦吗?'

?>

结果:

默认值参数:给参数设置一个默认值,调用者未传递该参数时,函数将使用默认值进行操作

代码:

<?php

function say($p, $con = '"Hello"')

{

    return "$p say $con";

}

echo say('Tom');

?>

结果:

变量的作用域:变量只有在其作用范围内才可以被使用,这个作用范围称为变量的作用域

代码:

?php

function test()

{

    $sum = 36;  // 局部变量

    return $sum;

}

$sum = 0;   // 全局变量

echo test();    // 输出结果:36

echo '<br/>';

echo $sum;              // 输出结果:0

?>

结果:

全局变量:global关键字、超全局变量$GLOBALS[变量名]

代码:

<?php

$x=100;

function test(){

    global $x;

$y=10;

    return $x+$y;

}

echo test();//110

?>

结果:

静态变量:所有的全局变量都是静态变量;局部变量只有在定义时加上修饰符static,才为局部静态变量

代码:

<?php

function num()

{

    static $i = 1;

    echo $i;

    ++$i;

}

echo num().'<br/>';

echo num().'<br/>';

echo num();

?>

结果:

函数的嵌套调用:

嵌套调用:指的是在调用一个函数的过程中,调用另外一个函数

代码:

<?php

function sum($yuwen,$shuxue){

    $sun=$yuwen+$shuxue;

    return $sun;

    }

function avg($yuwen,$shuxue){

    $avg=sum($yuwen,$shuxue)/2;

    return $avg;

    }

    $avg=avg(50,80);

    echo $avg;

?>

结果:

递归调用:指的是一个函数在其函数体内调用自身的过程

代码:

<?php

function Fact($n) {

    $sum=1;

    if($n <= 1){

        return 1;

    }else{

        $sum = $n * fact($n-1);

        return $sum;

    }

}

echo "5 的阶乘为: " .Fact(5)."<br>";

echo "3 的阶乘为: " .Fact(3)."<br>";

echo "4 的阶乘为: " .Fact(4)."<br>";

echo "10 的阶乘为: " .Fact(10);

?>

结果:

函数的高级应用:

可变函数:就是在一个变量名后添加一对圆括号“()”,让其变成一个函数的形式,然后PHP就寻找与变量值同名的函数,并且尝试执行它。

代码:

<?php

# 变量函数的用法:

function demo(){

    echo "天王盖地虎! ";

    }

$de='demo'; //将demo函数名赋给变量$de;

echo $de();//调用该变量名加();

?>

结果:

回调函数:就是把函数作为参数传入进另一个函数中使用,一般用作参数的传递。

代码:

<?php

function qwe($name,$age){

echo "我叫$name 我$age 岁了 <br>";

}

call_user_func('qwe', "张三",'18');

call_user_func('qwe', "李四",'24');

?>

结果:  将内置函数call_user_func()的参数值传递给qwe()函数

匿名函数:就是没有函数名称的函数,也称作闭包函数。临时定义的函数,使用时无需考虑命名冲突的问题

注意:匿名函数中使用外部的变量,需要通过use关键字实现。use关键字后圆括号“()”

例如:$sum = function($a, $b) use($c){ }

代码:

<?php

$sum = function($a, $b) {   // 定义匿名函数

    return $a + $b;

};

echo $sum(100, 200);    // 输出结果:300

?>

结果:

匿名函数做回调函数使用:

代码:

<?php

function calculate($a, $b, $func)//回调函数

{

    return $func($a, $b);

}

echo calculate(100, 200, function($a, $b) {     // 输出结果:300

    return $a + $b;

});

echo '<br>';

echo calculate(100, 200, function($a, $b) {     // 输出结果:20000

    return $a * $b;

});

?>

结果:

PHP的内置函数:

执行结果:

1-4

5-10

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
第一章 PHP简介 6 第一节 PHP简介 6 1.Web程序工作原理 6 2.PHP简介 9 第二节 PHP开发环境的搭建 9 1.程序编写,软件开发工具软件的选用 9 2.服务器软件的安装和配置 10 第三节 实验一 PHP开发环境的搭建 11 0.实验目的 11 1.实验准备 11 2.PHP的安装和配置 12 3.Apache的安装和配置 12 4.测试Apache对PHP的支持 13 5.MySQL软件的安装和服务的启动 14 第二章 Web客户端技术 16 第一节 Web客户端工作原理 16 1.浏览器工作原理 16 2.HTML工作原理 16 3.JavaScript工作原理 20 第二节 Web客户端基本技术 21 第三节 实验二 Web客户端技术 34 第三章 PHP语法 36 第一节 基本语法 36 1.最简单的PHP程序 36 2.剖析最简单的PHP程序 37 3.常用变量处理函数 37 4.访问客户端变量的方法 40 5.PHP变量的作用域 41 6.超全局变量数组 41 7.数据类型 43 8.运算符 47 9.函数 48 10.session的应用 51 第二节 PHP编程要点 53 1.流程控制结构 53 2. PHP嵌入HTML或JavaScript中 54 3.用PHP输出HTML或JavaScript 55 4.自服务程序 56 第三节 实验二 PHP语法实验 57 第四章 MySQL数据库 58 第一节 MySQL的基本使用 58 1.数据库基础知识 58 2.MySQL简介 58 3.MySQL的命令操作 58 4.MySQL的图形化客户端工具软件 61 第二节 用PHP操纵MySQL 62 1.PHP数据类型:资源型 62 2.PHP中用于操纵MySQL数据库的函数 63 3. PHP操纵MySQL实例 67 4.MySQL的常用列类型 68 5.用在查询中的运算符和函数 70 第三节 实验四 MySQL实验 77 1.MySQL基本命令练习 77 2.使用phpMyAdmin 79 第五章 Web软件开发 80 第一节 系统分析和系统设计 80 1.用户需求 80 2.系统分析与设计 81 第二节 系统实施和系统测试 89 第三节 实验 89

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值