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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |