博客列表 >php函数应用场景-2019-10-07

php函数应用场景-2019-10-07

H先生
H先生原创
2019年10月08日 13:20:26998浏览

        


    1. 自写案例演示匿名函数的三个应用场景

      1.匿名函数, 做为值来使用

实例

<?php
// 1.匿名函数, 做为值来使用
// 第一个场景

$sum = function ($a, $b) {
    return $a + $b;
};
echo $sum(5,6);
echo '<hr>';

?>

运行实例 »

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





    2.匿名函数: 做为回调参数来使用


实例

<?php

// 2.匿名函数: 做为回调参数来使用
// 第二个场景
$arr = [3,1,6,2,9];
usort($arr, function ($a, $b){
    return $a - $b; // 正序
    // return $b - $a; // 逆序
});
echo '<pre>' .print_r($arr,true);

echo '<hr>';


?>

运行实例 »

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





   3.1获取父作用域中的变量


实例

<?php

// 3.1获取父作用域中的变量
// 第三个场景
$name = '欧阳克';
$f1 = function (){
    // 直接获取外部变量,是取不到的
    global $name;
    return $name;
};
echo $f1();

echo '<hr>';

?>

运行实例 »

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





    3.2获取父作用域中的变量第二种写法



实例

<?php


// 3.2获取父作用域中的变量第二种写法
$name ='欧克费';
$f2 = function() use ($name){
    return $name;
};
echo $f2();

?>

运行实例 »

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



实例

<?php


// 3.2获取父作用域中的变量第二种写法
$name ='欧克费';
$f2 = function() use ($name){
    return $name;
};
echo $f2();

?>

运行实例 »

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


    2. 多个命名空间的场景


实例

<?php
// 创建命名空与匿名空间(全局空间)


// 命名空间必须是脚本的第一行代码
namespace one
{
    // 类是对象的模板
    class Test
    {

    }
}



namespace two
{
    class Test
    {

    }

}


namespace three
{
    class Test
    {

    }
}

// 创建全局空间
namespace
{
    class Test
    {

    }
}


?>

运行实例 »

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





    3. 实例演示类与对象的关系与使用方式





实例

<?php

class People{ }//这个是类

$obj1 = new People();  //类的实例化就是对象
$obj2 = new People();
$obj3 = new People();

var_dump($obj1);
echo '<br>';
var_dump($obj2);
echo '<br>';
var_dump($obj3);
echo '<br>';

var_dump($obj1 === $obj2);

var_dump($obj2 instanceof People);
?>

运行实例 »

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






4. 总结命名空间的应用对象, 适用场景以及注意事项

 总结:1.解决全局成员的命名冲突问题

            2.创建命名空间, 必须是脚本的第一行代码

    应用对象-全局成员: 类 / 函数 / 常量 (接口也算一个吧)







































声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议