博主信息
博文 15
粉丝 0
评论 0
访问量 11303
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
参数,作用域,匿名函数
我们的关系如此狭窄
原创
683人浏览过
<?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);


批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学