Rumah > pembangunan bahagian belakang > tutorial php > 学习php中clone的使用

学习php中clone的使用

WBOY
Lepaskan: 2016-07-25 09:07:44
asal
994 orang telah melayarinya
  1. class Person {

  2. private $name;
  3. private $age;
  4. private $id;
  5. function __construct( $name, $age ) {

  6. $this->name = $name;
  7. $this->age = $age;
  8. }
  9. function setId( $id ) {

  10. $this->id = $id;
  11. }
  12. function __clone() {
  13. $this->id = 0;
  14. }
  15. }
  16. print "
    ";
    Salin selepas log masuk
  17. $person = new Person( "bob", 44 );
  18. $person->setId( 343 );
  19. $person2 = clone $person;
  20. print_r( $person );
  21. print_r( $person2 );
  22. print "";
  23. ?>
复制代码

演示代码2:

  1. class Account {

  2. public $balance;
  3. function __construct( $balance ) {
  4. $this->balance = $balance;
  5. }
  6. }
  7. class Person {

  8. private $name;
  9. private $age;
  10. private $id;
  11. public $account;
  12. function __construct( $name, $age, Account $account ) {

  13. $this->name = $name;
  14. $this->age = $age;
  15. $this->account = $account;
  16. }
  17. function setId( $id ) {

  18. $this->id = $id;
  19. }
  20. function __clone() {

  21. $this->id = 0;
  22. }
  23. }
  24. $person = new Person( "bob", 44, new Account( 200 ) );

  25. $person->setId( 343 );
  26. $person2 = clone $person;
  27. // give $person some money

  28. $person->account->balance += 10;
  29. // $person2 sees the credit too
  30. print $person2->account->balance;
  31. // output:

  32. // 210
  33. ?>
复制代码

官方文档:http://cn2.php.net/__clone



Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan