Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z kopiowaniem klasy
Teoria
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 6.08.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. class klasa
  3. {
  4. var $pole1;
  5. var $pole2;
  6. var $pole3;
  7. var $pole4;
  8. }
  9. $wojtek=new klasa();
  10. $wojtek->pole1='a';
  11. $wojtek->pole2='b';
  12. $wojtek->pole3='c';
  13. $wojtek->pole4='d';
  14.  
  15. $kopia=$wojtek; # kopiujemy.... CHYBA
  16.  
  17. ### OBIE ZMIENNE SA TAKIE SAME
  18. print_r($wojtek);
  19. echo "<br /><br />";
  20. print_r($kopia);
  21. echo "<br /><br />";
  22.  
  23. ### ZMIENIAMY WARTOSC KOPII
  24. $kopia->pole1='xxxx';
  25.  
  26. print_r($wojtek);
  27. echo "<br /><br />";
  28. print_r($kopia);
  29. echo "<br /><br />";
  30. ?>


i pytnie: co w linice 26 i 28 zostanie wydrukowane?

Odpowiedź: różnie!!!! (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)

WARIANT 1 na localhoscie:
klasa Object ( [pole1] => a [pole2] => b [pole3] => c [pole4] => d )

klasa Object ( [pole1] => xxxx [pole2] => b [pole3] => c [pole4] => d )


WARIANT 2 na serwerze:
klasa Object ( [pole1] => xxxx [pole2] => b [pole3] => c [pole4] => d )

klasa Object ( [pole1] => xxxx [pole2] => b [pole3] => c [pole4] => d )

Prawdziwe pytanie:
a ) Dlaczego tak się dzieje?
b ) jak 'skopiować' w takim razie tą zmienną, by 'wyrzucał' wariant 1?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Jakie wersje PHP masz na localhost i na serwerze?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 10:00