• 技术文章 >后端开发 >PHP问题

    对php7的了解(附详细教程)

    慕斯慕斯2021-06-02 09:15:41原创96
    上篇文章给大家介绍了《继续学习——AJAX PHP(附源码)》,本文继续给大家介绍新的内容——PHP7,相信大家已经对php7有过一点点的了解,并且产生了浓厚的兴趣,现在就让我们出发去看看吧!!!

    PHP7版本对变量解析机制做了调整,调整如下:

    一、间接变量、属性和方法引用都按照从左到右的顺序进行解释:

     $$foo['bar']['baz'] // interpreted as ($$foo)['bar']['baz']
     $foo->$bar['baz']   // interpreted as ($foo->$bar)['baz']
     $foo->$bar['baz']() // interpreted as ($foo->$bar)['baz']()
     Foo::$bar['baz']()  // interpreted as (Foo::$bar)['baz']()

    如果想改变解释的顺序,可以使用大括号:

    ${$foo['bar']['baz']}
    $foo->{$bar['baz']}
    $foo->{$bar['baz']}()
    Foo::{$bar['baz']}()

    二、global关键字现在只能引用简单变量

    global $$foo->bar;    // 这种写法不支持。
    global ${$foo->bar};  // 需用大括号来达到效果。

    三、用括号把变量或者函数括起来没有用了

    function getArray() { return [1, 2, 3]; }
    $last = array_pop(getArray());
    // Strict Standards: Only variables should be passed by reference
    $last = array_pop((getArray()));
    // Strict Standards: Only variables should be passed by reference

    注意第二句的调用,是用圆括号包了起来,但还是报这个严格错误。之前版本的PHP是不会报这个错误的。

    四、引用赋值时自动创建的数组元素或者对象属性顺序和以前不同了。

    $array = [];
    $array["a"] =& $array["b"];
    $array["b"] = 1;
    var_dump($array);
    PHP7产生的数组:["a" => 1, "b" => 1]
    PHP5产生的数组:["b" => 1, "a" => 1]

    推荐学习:《PHP视频教程

    以上就是对php7的了解(附详细教程)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:PHP7
    上一篇:php如何查询返回记录数 下一篇:php如何将中文符号转英文字母
    第16期线上培训班

    相关文章推荐

    • php7如何实现垃圾回收机制• PHP7为什么比5快• php7如何开启强类型模式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网