加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 实例化与括号或没有?之间有区别吗?

发布时间:2020-12-13 13:43:29 所属栏目:PHP教程 来源:网络整理
导读:这两段代码有什么区别? ?php $object1 = new User(); //^^ $object1-name = "Hello"; echo $object1-name; class User {}? 和: ?php $object1 = new User; //^ $object1-name = "Hello"; echo $object1-name; class User {}? 我得到相同的输出: Hello 如
这两段代码有什么区别?
<?php

    $object1 = new User();
                     //^^
    $object1->name = "Hello";        
    echo $object1->name;
    class User {}

?>

和:

<?php

    $object1 = new User;
                    //^
    $object1->name = "Hello";        
    echo $object1->name;
    class User {}

?>

我得到相同的输出:

Hello

如果我在括号中使用括号是否有任何区别:

$object1=new User;
完全相同,你可以比较这两个脚本的操作码:

1个脚本:

$object1=new User();
$object1->name="Hello";        
echo $object1->name;
class User {}

操作码:

line     # *  op                           fetch          ext  return  operands
---------------------------------------------------------------------------------
   3     0  >   FETCH_CLASS                                   4  :0      'User'
         1      NEW                                              $1      :0
         2      DO_FCALL_BY_NAME                              0          
         3      ASSIGN                                                   !0,$1
   4     4      ASSIGN_OBJ                                               !0,'name'
         5      OP_DATA                                                  'Hello'
   5     6      FETCH_OBJ_R                                      $5      !0,'name'
         7      ECHO                                                     $5
   6     8      NOP                                                      
         9    > RETURN                                                   1

2脚本:

$object1=new User;
$object1->name="Hello";        
echo $object1->name;
class User {}

操作码:

line     # *  op                           fetch          ext  return  operands
---------------------------------------------------------------------------------
   3     0  >   FETCH_CLASS                                   4  :0      'User'
         1      NEW                                              $1      :0
         2      DO_FCALL_BY_NAME                              0          
         3      ASSIGN                                                   !0,'name'
         7      ECHO                                                     $5
   6     8      NOP                                                      
         9    > RETURN                                                   1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读