• 美国海军直升机起飞后坠落航母甲板 造成人员受伤_保卫萝卜挑战8 2018-11-26
  • 星扒客|小燕子紫薇重聚 逆龄女神谁的颜值更能打?|逆龄|还珠格格|赵薇_剑三大脚 2018-11-26
  • 4G用户占移动通信半壁江山 虚拟运营商监管将加强_移民韩国的条件 2018-11-26
  • 国乒提前锁定混双金牌 广东“一哥”冲第二金_寻麻疹吃什么药 2018-11-26
  • 三星为可折叠手机更换脸书新标识_西条琉璃番号 2018-11-26
  • 红色教育如何融入高校思政工作_正美丰业 2018-11-26
  • 俄罗斯人当国际刑警组织主席?美参议员呼吁干扰结果_参谋长联席会议 2018-11-26
  • 中国民生银行为民而生与民共生 不忘初心真情服务_上海新虹桥医院 2018-11-26
  • 到底是什么样的任务一定要等到太阳_6644d 2018-11-26
  • 共同开辟中菲关系新未来_逃出红房子 2018-11-26
  • 严查!上海嘉定多名受贿行贿人员落法网_言情小说完本 2018-11-26
  • 中国工程院院士丁一汇:万里风云入襟怀_青青草国语 2018-11-26
  • 英男子20年不断骚扰邻居 居民办派对庆其入狱_都市言情小说阅读网 2018-11-26
  • 拥抱新时代 实现新目标 奋斗新征程——学习宣传贯彻习近平新时代中国特色社会主义思想系列研讨会第二场研讨会在上海举行_李天佑简历 2018-11-26
  • 吴江旗袍小镇9月28日迎来精品盆景展--旅游频道_人人小说阅读器 2018-11-25

    PHP开发者应该学习、会用10个PHP7新特性

    2019-04-24 09:23:12 IT时代网 分享

    莱钢信息港 www.rtfkige.cn 本文主要总结了10个PHP7特性,这些PHP特性对于PHP开发者来说都是应该学习和使用的,一起来学习下:

    1)标量类型声明(PHP7)

    PHP是一种松散类型的编程语言,因此没有提供任何指定输入参数类型和返回值类型的方法。 PHP7通过以下语法改变了这个现象:

    function add(int $x, int $y) : int
    {
        return $x + $y;
    }
    echo add(1, 2);

    有效类型为:类/接口名称,self,array(数组),callable(回调类型),bool(布尔型),float(浮点型),int(整型)和string(字符串)。

    2) — 空接合操作符(PHP7)

    空接合操作符虽然小,但非常好用,是PHP7中新增加的。 — 只要操作符的左边存在且不为空,就返回左边,否则就返回操作符的右边:

    //$a is not defined
    $b = NULL;
    $c = "abc123";
    echo($a    $b    $c);
    //Result: abc123

    3)匿名类(PHP7)

    PHP7中还有一个新增的也很不错,那就是匿名类。有时候,我们只是没有必要创建一个命名的类,因为它的名字会导致当前命名空间的膨胀。语法非常简单:

    echo (new class() {
        public function myMethod() {
          return "Hello!";
        }
    })->myMethod();
    
    //Result: Hello!

    4)Reflection

    Reflection是一个用来获取有关运行时代码信息的强大框架。让你可以对类、接口、函数、方法和扩展执行反向工程,以构建映射引擎,IoC容器或文档框架等等。

    下面是一个获取匿名类所有方法的简单例子:

    $class = new ReflectionClass(new class() {
        public function getText() {
            return "Hello from anonymous class";
        }
    });
    $methods = $class->getMethods();
    var_dump($methods);

    更多信息请看这里:http://php.net/manual/en/book.reflection.php

    5)短数组初始化

    在用PHP编程的时候,我倾向于大量使用数组,因为它们不仅功能强大,而且简单易用。PHP的5.4.x版本使得更容易初始化:

    $myArray = ["foo", "name" => "bar"];

    6)DateTime类

    PHP的5.2版本附带DateTime类作为首选的操纵和格式化日期和时间的方式。

    更多信息请看这里:http://php.net/manual/en/class.datetime.php

    7)Lambda表达式/匿名函数

    匿名函数(有时也被称为lambda表达式)是没有指定名称的函数。匿名函数可以被分配给一个变量,如下例所示:

    $sayHi = function($toName) {
        echo("Hi " . $toName);
    };
    
    $sayHi("Peter");

    更多信息请看这里:http://php.net/manual/en/functions.anonymous.php

    8)array_map

    array_map是一个不错的函数,能帮助你对数组中的每个元素执行计算。这在混合了匿名函数/ lambda表达式的时候特别好用。无论你为数组中的元素提供什么方法,array_map函数都适用:

    $nameLengths = array_map(function($item) {
        return strlen($item); }, ["Sue", "Peter", "Michael"]);
    
    //Result: 3, 5, 7

    需要注意的是,array_map可能会比foreach慢一点儿(特别当混合使用lambda表达式的时候更为明显),所以要慎用于那些非常大的数组。

    更多信息请看这里:http://php.net/manual/en/function.array-map.php

    声明:本站部分资源来源于网络,版权归原作者或者来源机构所有,如作者或来源机构不同意本站转载采用,请通知我们,我们将第一时间删除内容。本站刊载文章出于传递更多信息之目的,所刊文章观点仅代表作者本人观点,并不意味着本站赞同作者观点或证实其描述,其原创性及对文章内容的真实性、完整性、及时性本站亦不作任何保证或承诺,请读者仅作参考。
    编辑:酷讯