Blogger Information
Blog 15
fans 0
comment 0
visits 8377
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
参数,作用域,匿名函数
我们的关系如此狭窄
Original
466 people have browsed it
<?php
/*
 * 1. 总结函数的返回值,参数?
 * 2. 实例演绎你对课上匿名函数以及变量作用域问题的理解?
 *
 */
function _return($str = 0){
    if(!$str){
        //    return true;
        //    return 123;
        //    return array('1',2,'name');
        $obj = (object)([1,2,3]);
        return $obj;
    }

}
//方法约定返回值的时候只能单个值,可以是字符串,数字等类型数据,
//当要求返回的数据较多,可以将其加入一个数组或者对象。
$res = _return();
var_dump($res);
//参数   传入一个参数或者变量,让其按照方法的逻辑进行某些操作,然后根据参数不同所处理出来的结果
function more_(...$arr){
    var_dump($arr);
}
echo "<br>";
more_(1,2,3,'name');
//剩余参数  当传入参数过多,无法确定数量,剩余参数创造一个数组容器,容纳传入的参数
echo "<br>";
$arr_ = [1,2,3,'123'];
more_(...$arr_);

//感觉就像析构一样
[$a,$b,$c,$d] = $arr_;
echo "<br>";
echo $a; // 返回$arr_[0] 也就是1

//剩余参数展开  将$arr_ 数组一个个展开  导入more_中  $arr收集
class A{
    const name = 'ych';
   public function int(){
        echo "初始化<br>";
    }
   public  function pr(){
        echo "<pre>";
        print_r($arr_);
    }
}
//classA 里面的常量name  外面无法调用  只能实例化A 用A去调用  方法int也是
//也就是类里面的东西只是作用于里面  外面想要调用  必须实例化A 做为A本身可以调用
//同样 A类里面  pr方法在调用$arr_ 时会报错  找不到$arr_
//以上都是作用域的相关影响
//如果A类 pr方法想用到外部的数组$arr_ 可以将A类实例化  将数组以参数的形式在调用的时候传参过去
//另一种  就是声明$arr_为全局数组 语法: global 目标函数,或者数组 ; 或者直接调用$global

//匿名函数
function one($b){
    return function ($v) use ($b){
        return $v*$b;
    };

}
echo "<br>";
echo one(3)(8);


//计算购物车总价
//$total=0;
//$cars = [
//    ['egg',1,2],
//    ['apple',4,3],
//    ['pen',1,12]
//];
//$callback_ = function($name,$num,$price) use ($cars,&$total){
//    $total += $num*$price;
//};
//array_walk($cars,$callback_);
//echo "<br>";
//var_dump($total);


Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
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