![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
W komentarzach na tej stronie -> http://www.php.net/manual/en/language.oop5.references.php mamy coś takiego. Z tego co rozumiem to:
1. Przesłanie zmiennych przez wartość powoduje utworzenie lokalnych kopii w obrębie funkcji w efekcie czego wartości pierwotnych zmiennych się nie zmieniają. 2. Przesłanie zmiennych przez referencję powoduje przesłanie do funkcji adresu pierwotnych zmiennych zatem w efekcie wartości się zmieniają po wyjściu z funkcji, gdyż modyfikowane jest to co się znajduje pod tymi adresami w pamięci.
To jest OK natomiast w manulau jest jednak coś takiego.
1. Dlaczego wyświetla 2 skoro $e był przesłany jako kopia ? 2. Dlaczego $a wyświetla 2 jeśli nie był przesłany przez referencję ? -------------------- gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet. Zarabianie bez wysiłku na domenach bez ruchu: prolink. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ obiekt są domyślnie przekazywane przez referencję - zawsze.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 0 Dołączył: 3.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
As far I remember, toto zmienieli wraz z przejściem na PHP 5.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Proszę o korektę jeśli coś źle rozumiem.
-------------------- gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet. Zarabianie bez wysiłku na domenach bez ruchu: prolink. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze w PHP nie ma wskaźników, są jedynie referencje.
Co do obiektów i referencji w manualu jest to dobrze wytłumaczone: Cytat One of the key-points of PHP5 OOP that is often mentioned is that "objects are passed by references by default". This is not completely true. This section rectifies that general thought using some examples.
A PHP reference is an alias, which allows two different variables to write to the same value. As of PHP5, an object variable doesn't contain the object itself as value anymore. It only contains an object identifier which allows object accessors to find the actual object. When an object is sent by argument, returned or assigned to another variable, the different variables are not aliases: they hold a copy of the identifier, which points to the same object. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:34 |