Blogger Information
Blog 31
fans 1
comment 5
visits 29370
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
匿名函数,命名空间类与对象的理解-0929作业
零度 的博客
Original
648 people have browsed it

匿名函数三个场景代码演示

实例

<?php

// 匿名函数, 函数表达式
// 场景1: 匿名函数可以用变量赋值形式来使用
$sum = function ($a, $b) {
    return $a.$b;
};//记得这里必须加``;``分号,不加分号php会报错,闭包函数
// $sum传两个值到函数中因为函数中有两个局部变量
echo $sum('我是', '匿名函数1');
echo '<hr>';




// 2. 做为回调参数来使用
// array_map(), preg_replace_callback()方法都会用到回调函数,这是使用闭包的最佳时机!
$num=array_map(function ($number){
    return $number+1;
},[1,2,3]);
print_r($num);//输出Array ( [0] => 2 [1] => 3 [2] => 4 )

// 3. 获取父作用域中的变量两种用法
//一:
$a = '我是匿名函数场景3';//在匿名函数外的变量叫父作用域变量
$aa = function () use ($a) {
    return $a;
};
echo $aa();
echo '<hr>';
//二:
// a 是父函数
function a() {
    // $a在匿名函数外它是匿名函数的父域中的变量
    $a = '我是匿名函数场景3'; 
    return function () use ($a){
        return $a;
    };//记得这里必须加``;``分号,不加分号php会报错,闭包函数
}
echo a()();

运行实例 »

点击 "运行实例" 按钮查看在线实例

二:命名空间场景演示

几个场景都写在一起了


实例

<?php
namespace demo1;//这个一定要写在第一行 不然用的时候会出错,吸取了教训了!!!。
include __DIR__ .'/demo2.php';
//以下是同目录不同文件的demo2.php里面的代码
// namespace demo2;//命名空间不能用纯数字命名
// function a ($a){
// return $a;
// }
include __DIR__ .'../fc/demo3.php';
//以下是/fc/demo3.php里面的代码
// namespace demo3;//命名空间不能用纯数字命名
// function a ($a){
// return $a;
// }

//命名空间不能用纯数字命名

function a ($a){
return $a;
}
// 本文件的命名空间访问
echo a('命名空间1');// 不写命名空间标识符也可以默认是这样的:echo namespace\a('命名空间'); 
echo'<hr>';
// 同级目录的命名空间访问
echo \demo2\a('命名空间2');//demo2是同目录下的demo2.php文件里的空间命名
echo'<hr>';
// 其它目录的命名空间访问
echo \demo3\a('命名空间3');//demo3是fc目录下的demo3.php文件里的空间命名


?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


三:类与对象

实例

<?php
class cs{
public $ceshi='类与对象简单理解';//public为可见性,全局可见 $ceshi是类属性
}
$a=new cs();//类new出来得到一个对象a
echo $a->ceshi;//访问对象a里面的属性ceshi
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

四:总结

  1. 空间命名的标识符一定要写在第一行,不然会报错,吸取了教训了。

  2. 命名空间不能用纯数字命名

  3. 命名空间的作用可以防止类,函数,全局变量的重名。

  4. 匿名函数的回调有点绕脑子,写出来的结果跟脑子第一次想的不一样,理解就是还可以放到函数中使用


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