时间:2021-07-01 10:21:17 帮助过:6人阅读
浅克隆:只是克隆对象中的非对象非资源数据,即对象中属性存储的是对象类型,则会出现克隆不完全
classB{public$val = 10;
}
classA{public$val = 20;
public$b;
publicfunction__construct(){$this->b = new B();
}
}
$obj_a = new A();
$obj_b = clone$obj_a;
$obj_a->val = 30;
$obj_a->b->val = 40;
var_dump($obj_a);
echo'
';
var_dump($obj_b);
深克隆:一个对象的所有属性数据都彻底的复制,需要使用魔术方法__clone(),并在里面实现深度克隆
classB{public$val = 10;
}
classA{public$val = 20;
public$b;
publicfunction__construct(){$this->b = new B();
}
publicfunction__clone(){$this->b = clone$this->b;
}
}
$obj_a = new A();
$obj_b = clone$obj_a;
$obj_a->val = 30;
$obj_a->b->val = 40;
var_dump($obj_a);
echo'
';
var_dump($obj_b);
').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了PHP之克隆clone,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。