PHP 对象传递与正则表达式全解析
1. PHP 对象传递差异
在 PHP 中,PHP 4 和 PHP 5 在对象传递和赋值方面存在显著差异。在 PHP 4 里,对象是以值的形式在函数间传递的。而在 PHP 5 中,对象则是通过引用传递和赋值的,这种方式更符合面向对象语言的特性。
1.1 PHP 4 对象传递示例
以下代码展示了在 PHP 4 中对象的传递情况:
class PassObj {
function PassObj( $item ) {
$item->name="harry";
}
}
class Item {
var $name = "bob";
}
$item = new Item();
$pass = new PassObj( $item );
print $item->name;
在这个例子中, PassObj 类的构造函数接受一个 Item 对象,并尝试修改其 $name 属性。如果在 PHP 4 中运行这段代码,传递给 PassObj 构造函数的是 Item 对象的一个副本,原始对象不会受到影响,脚本将输出 “bob”,这是 Item 对象的默认 $name 值。
1.2 PHP 5 对象传递示例
若在 PHP 5 中运行上述代码,脚本将输
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



