Blogger Information
Blog 3
fans 0
comment 0
visits 1424
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
函数语法、参数收集
我想买个好耳机
Original
402 people have browsed it

<?php

//函数语法

function func1(int $a,int $b):float

{

   return $a+$b;//显示返值

}

echo func1(1.5,1.2);

echo '<hr>';


//命名函数   定义一个有参有返函数

function bianLiang1(float $a,float $b):float{

    return $a*$b;

}

echo bianLiang1(100,0.88);//调用函数,并传参

echo '<hr>';


//系统函数   系统自带函数  不用定义,拿来就能用

$str='哈尔滨防控漏洞为全国敲响新的闹钟';

$ss=mb_substr($str,0,5);//截取str字符串,从下标0开始,到5结束

//mb_是转换编码格式,把ASCLL转换为utf8(系统默认为ASCLL,utf8为中文编码)

echo $ss.'<br>';


//可变函数  把函数赋值给变量,可通过变量来调用函数

$fucnName='func1';

echo $fucnName(80,0.9).'<br>';


//匿名函数   没有名字的函数

//变量保存的函数,实质上是保存的一个对象


$bianLiang2=function ($a,$b){

    echo $a.'hello world'.$b;

};

$bianLiang2(1,2);


//闭包

//函数内部有一些局部变量(要执行的代码块)在函数结束后没有被释放

function display(){

    $name=__FUNCTION__;

    $neibufunction=function () use ($name) {

        echo $name;//内部匿名函数调用父级元素,使用use

    };


    $neibufunction();//调用函数

}

display();


//返回值

//单值返回

function demo1():string{


    return '11';

}


//多值返回

//1字符串拼接

function demo2():string{

    $a=1;

    $b=2;

    return $a.'+'.$b;

}


//2数组  将多个元素以键值对的方式打印出来

function demo3():array{


    return ['sex'=>'男','age'=>18];

}

$r=print_r(demo3(),true);

printf('%s',$r);


// 3. 通过JSON返回

function demo4():string{

    return json_encode(['sex'=>'女','age'=>20]);

    //将元素以键值对的方式存储在json

}

echo demo4();

//--------------------------------------------

$var=json_decode(demo4(),true);//从json中取出数据

print_r($var);

//--------------------------------------------

//4。序列化

function demo5():string{

    return serialize(['number'=>12123,'class'=>11]);

}

echo demo5();

//反序列化

$unvar=unserialize(demo5());//返回类型是序列化之前的类型

printf('%s',print_r($unvar,true));//格式化输出数据

echo '<hr>';


//函数参数

//1值参数

function demo6(int $arg):int{


    return $arg*2;

}

$vv=100;

echo demo6($vv);//返回的只是计算结果,不会改变变量的值

echo '<hr>';


//引用参数

function demo7(int &$arg):int{//在参数前使用取地址符&,就会改变原始调用参数的值

    return $arg*2;

}

$vv=100;

echo demo7($vv);

echo '<hr>';

echo $vv;


//默认参数,它必须写在必选参数的后面

function demo8($a,$b=1){

    return $a+$b;

}

echo '默认参数';

echo demo8(2);


//收集参数

function demo9(...$item){

    $to=0;

    foreach($item as $value){

        $to+=$value;

    }

    return $to;

}

echo '收集参数';

echo demo9(1,2,3,4,5);


数组解析

$user[] = [100, 'admin', 90];

$user[] = [110, 'peter', 60];

foreach ($user as list($id, $name)) {

    //解析数组,分开输出打印

    printf('id=%s, name=%s<br>', $id, $name);

    //格式化输出

 }


Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:注释加个框什么意思, 为什么不使用markdown语法来写, 非常简单的
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post