php中函数基础知识,PHP基础知识:函数相关知识

函数的组成:

1.函数有关键字function、函数名、参数以及函数体组成和函数返回值;

2.函数的参数可以约定类型,在参数声明参数类型关键字,函数参数通过:来约定函数返回值类型

3.例子

functionsum(inta,intb):int

{

return$a+$b;

}

函数分类:命名函数:就是普通函数;函数具有自动提升,在全局任何时候调用都有效,变量不行;

匿名函数:与命名函数就就差函数名,一般当作参数,返回值等等,匿名函数一般赋值给变量调用;匿名函数可以通过use来允许函数调用时使用函数外部变量

函数参数的分类

1.必须参数:在函数调用时,必须传参

2.默认参数:参数有默认值,函数调用可以不传参

3.可选参数:参数数量不定;函数调用时传几个用几个,类似JS种的剩余参数

4.引用参数:参数前面加&引用符,引用参数,可以不用return直接实时改变函数外部的变量

函数的返回值:单值

1.数组

2.对象

3.序列化字符串:

PHP内容序列化函数:serialize()序列化和unserialize()反序列化

通用序列化:json_encode():转换陈字符串,json_decode():解析字符串(默认返回对象类,第二个参数设置true时返回数组)

函数的作用域:

1.函数作用域:函数调用时产生作用域,作用域的操作无法使用直接使用外部变量和影响外部的值;

2.使用外部变量可以同 global声明变量时全局变量,或者通过超全局变量$GLOBALS[0]使用外部变量

3.匿名函,数可以通过use来使用外部变量,函数结束后就会释放外部变量;如果想实时改变外部变量可以同通过取值符&use(参数)前加上取值符即可

4 . use禁止使用以下三种参数

超全局变量不让用

$this

与当前参数重名不让用

PHP中异步调用函数

1.call_user_func(“函数名”,函数参数);

2.call_user_func_array(“函数名”,函数参数列表);

3.调用实列方法的用法

//实例方法的调用

call_user_func_array([newUser,"show"],[参数列表]);

//类静态方法的调用

call_user_func_array("User::say",[参数列表]);

函数种的静态

1.函数中的静态变量不会随函数调用结束而消失

2.他会自动进入到下一次的函数调用中

3.可以实现在函数的多次调用过程中:共享数据 / 数据通信

PHP基础知识点:

1.explode(‘分界符’,字符串):把字符串拆成组装成索引数组;

2.implode(‘分隔符’,数组):把数组种的值展开组成字符串并返回

3.函数中与参数有关的函数:

func_sum_args():获得参数个

func_get_arg():获得所有参数

func_get_args(n):获取某个参数n索引

4.extract():把关联数组中的拉平成变量,键做变量名,值做变量值

代码练习<?php

functionsum(int$a,int$b):string

{

return$a+$b;

}

echo var_dump(sum(12.23,5));

functionshow(string$name="种业圈"):string

{

return$name."欢迎你!";

}

echo show();

echo show("zhongyequan");

functionavg(...$agr):string

{

returnarray_sum($agr)/count($agr);

}

echo avg(1,2,3,4);

$arr_p=["name"=>"ldy","age"=>20];

echo implode(",",$arr_p);

var_dump(explode(",",implode(",",$arr_p)));

extract($arr_p);

echo $name,$age;

$a=10;

echo'$a的原始值',$a;

functionchange(int&$a)

{

$a++;

}

echo change($a);

echo'运行函数后$a的值',$a;

echo"


";

functionAsc(){

static$a=0;

return$a++."
";

}

echoAsc();

echoAsc();

echoAsc();

echoAsc();

echo"


";

$site="种业圈";

$bg=function(string$a,string$b)use($site){

return$a.$b.$site;

};

echo $bg("你好!","欢迎你来到");

functionarr(string$a,int$b):string

{

returnjson_encode(["name"=>$a,"age"=>$b]);

}

echo arr("ldy",20);

var_dump(json_decode(arr("ldy",20),true));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值