php 快速入门(三)

时间:2024-03-26 13:35:49

一、函数式编程

1.1 函数简介

函数(function)

  • 函数本质就是一段代码
  • 在函数的代码这个那,通常是用于完成一个需要重复执行的操作
  • 通过使用函数,可以将哪些需要城府执行的操作,定义成一个函数名,当需要执行这些操作的时候,直接调用这个函数名就可以
  • 通过函数,最大的作用就是可以实现代码的复用

函数的特性:

  1. 函数名不区分大小写【关键字不区分大小写,变量名区分大小写】
  2. 函数定义和调用没有先后顺序【可以将调用函数的代码,写在定义函数的前面】
  3. 可以用function_exists('test1')判断函数是否存在,在if内定义函数
  4. 还能输不会自动执行,只能在调用的时候才去执行
  5. 可以自定义函数内(内部函数不能直接调用)

1.2 定义函数

在php中,使用function关键字来定义函数,例如:

function greet($name){
    echo "Hello,".$name."!";
}

上面的代码定义了一个名为greet的函数,它带有一个参数$name,并在屏幕上输出一条问候信息。要调用此函数,可以将参数传递给它,例如:

greet("jreen");

这将输出“Hello,jreen!” 到屏幕上

函数语法

function 函数名称(参数1,参数2 ...){
    //程序业务内容
    return 返回值;   //如需函数有返回值时使用,否则函数返回值为null
}

函数名称

  • 它是函数在程序代码中的识别名称,函数名可以是以字母或下划线开头后跟零个或多个字母、下划线和数字的任意字符串。函数名不区分大小写。
  • 命名函数时不可使用已声明的函数,或php内建的函数名称。

返回值

  • 当调用函数时需要它返回一些数值,那么就要在函数体中用return语句实现。格式如下:
return '返回值';   //返回值也可以是一个表达式

1.3 函数返回值

执行函数的结果

执行结果又两个:输出结果,返回结果

输出结果:

  1. 就是在函数中,用echo、var_dump、print_r 进行输出指定的内容

返回结果:

  1. 就是在函数中,用return 来返回一个值,返回结果默认是不显示的,返回结果通常是要进行接收的。
  2. 当函数执行到return的时候,后面的代码就不再执行
  3. 函数的返回值可以是任意类型
  4. 函数只可以有0个或1个返回值,如果想返回多个值可以通过返回数组或对象实现

案例:在函数中返回多个值

<?php
    header("content-type:text/html;charset=utf-8");

    function fun1(){
        echo "========函数开始执行==========<br>";
        $userInfo = array("tom",18,"tianjin","15688882222");
    
        return $userInfo;
        echo "========函数执行结束==========<br>";
    }

    $res = fun1();
    
    echo $res[0];    # 输出tom
    echo $res[1];    # 输出18
    echo $res[2];    # 输出tianjin
    echo $res[3];    # 输出15688882222
?>

1.4 函数参数

函数可以具有任意数量的参数,例如:

function multiply($a,$b,$c=1){
    return $a * $b * $c;
}

$result = multiply(2,3);
echo $result;    //输出 6

$result = multiply(2,3,4);
echo $result;    //输出 24

上面的代码定义了一个名为multiply的函数,它具有两个必须参数$a和$b,以及一个可选参数$c(默认为1)。在第一个实例中,将使用默认值计算 ;而第二个示例中,将使用传递的值。

案例1通过函数,对两个数字进行求和,然后在另一个函数中,判断之前两个数字的和是否大于100

<?php
    header("content-type:text/html;charset=utf-8");
    
    function getAdd()
    {
        $num1 = 36;
        $num2 = 99;
        $sum = $num1 + $num2;
        return $sum;
    }

    function checkNum($num99)
    {
        if($num99>100)
        {
            echo "两个数字的和大于100";
        }
        else
        {
            echo "两个数字的和不大于100";
        }
    }
        
    $sum1 = getAdd();
    checkNum($sum1);
?>

案例2:向函数传入两个数字,返回较大的数字

<?php
    header("content-type:text/html;charset=utf-8");

    function fun1($num1,$num2)
    {
        if($num1>=$num2)
        {
            $res = $num1;
        }else{
            $res = $num2;
        }

        return $res;
    }

    $num = fun1(3,5);
    echo "较大的数字是 $num";
?>

1.5 匿名函数

在PHP 5.3及更高版本中,可以使用匿名函数。匿名函数是没有名称的函数,例如:

$greet = function($name){
    echo "Hello, ".$name."!";
};
greet("john");   //输出Hello,john"

上面的代码创建了一个匿名函数,并将其分配给变量$greet。该函数可以向常规函数一样调用。

二、文件包含简介

复杂的程序必须要分文件:

  • index.php 前台
  • conn.php  链接数据库的

实现文件包含/导入

include

require

例如:

demo1.php 文件内容

function show()
{
    echo "1111111111111111111"
}

在 Test.php 中使用

include 'demo1.php';
show();

include和require的区别

当要包含的文件不存在时

  • include 会产生一个警告(warning),该语句后面的程序会继续执行
  • require 则产生一个致命错误(Fatal error),程序就此终止
  • include 一般是放在流程控制的处理部分中。PHP程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
  • require 通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部分。常用的函数,一般可以用这个方法将它引入到网页中。
  • include有返回值,而require没有

他们两个的用途是完全一样的,不一定非得那个放在最前面那个放在中间。他们最根本的区别在于错误处理的方式不一样。require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误;include一个文件存在错误的话,那么程序不会中断,而是继续执行,并显示一个警告错误。

三、变量作用域

3.1 变量能见度

所谓变量的能见度,意指变量在程序中的可作用范围。当一个变量执行赋值动作后,会随着声明

局部的差异,而有不同的作用范围。大致上来说变量会依据声明的局部分为下列两种:局部变量和全局变量

3.2 局部变量

在函数之中声明的变量就是局部变量,并且该变量只有在函数范围之中才能使用。

如果其他程序局部需要调用使用该变量值时,必须通过【return】指令,来将其传回至主程序区块已做后续处理

$num=1;
function p(){
    $hd =3;    //定义局部变量
    echo "在函数中显示局部变量\$hd值:$hd</br>";
}
p()
echo "在函数外显示变量\$hd值:$hd <br>";

3.3 全局变量

在函数范围之外声明的变量为全局变量,在函数中无法直接使用全局变量

函数要使用全局变量,必须要利用global引用或$GLOBALS超全局数组引用

$num = 1;

function test() {
    global $num; // 声明全局变量$num
    $num = 2; // 修改全局变量$num的值
    echo $num; // 输出2
}

test(); // 调用函数test
echo $num; // 输出2

四、常用的内置函数

  1. is_string()        判断是否是字符串,如果是,则返回真
  2. strlen()               字符串的长度
  3. strtolower()        字符串转换为小写
  4. strtoupper()       字符串转换为大写
  5. ucfirst()              字符串首字母大写
  6. ucword()            字符串首个单词大写
  7. ucwords()          字符串每个单词首字母大写
  8. trim()                 去除掉两侧的空格

exit()

功能:输出一个信息,并中止程序运行

语法:void exit([strint `$status`])

举例:exit("**程序运行出错了!")

对比

break:停止循环

return:停止函数

exit:停止程序