Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> znak & (ampersand) wstawiony przed nazwą funkcji
kufalo
post 17.09.2007, 13:43:15
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 2
Dołączył: 24.08.2005

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


Witam,

Dowiedzialem sie, ze:
Znak & (ampersand) wstawiony przed nazwą funkcji informuje funkcje że ma zostać zwróca referencja.

Moge prosic o jakis krotki przyklad, bo nie wyobrazam sobie za bardzo na czym to polega i jak to mozna wykorzystac.
Go to the top of the page
+Quote Post
qqrq
post 17.09.2007, 14:56:42
Post #2





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

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


To zależy czy masz na myśli & przed definicją czy przed wywołaniem funkcji. Przed wywołaniem, jeśli masz jakąś nowszą wersję PHP (np. 5), i tak nic ci nie da (jest zdeprecjonowane, o czym na pewno poinformuje cię samo PHP jakimś NOTICE-em). W drugim przypadku nie jestem pewien. Wiem że & przed nazwą zmiennej w definicji funkcji oznacza przekazanie jej przez referencję (adres), czyli m. in. możliwość bezproblemowego odwołania się do tej zmiennej PO wywołaniu funkcji...


--------------------
Go to the top of the page
+Quote Post
zimi
post 17.09.2007, 15:30:42
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 9
Dołączył: 3.06.2007

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


Cytat
Przed wywołaniem, jeśli masz jakąś nowszą wersję PHP (np. 5), i tak nic ci nie da (jest zdeprecjonowane, o czym na pewno poinformuje cię samo PHP jakimś NOTICE-em).

kiedyś udało mi się przez referencje nawet jakiegoś errora złapać, jednak teraz nie pamiętam jak to mi się udało, w każdym razie mam jakieś PHP 5.2.0
i kod poniżej nawet strictów nie generuję
  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. function &referencja(&$tablica, $indeks)
  4. {
  5. return $tablica[$indeks];
  6. }
  7. $tab = array('kolor' => 'czerwony', 'kształt' => 'kwadrat', 'wielkość' => 'duży');
  8. var_dump($tab);
  9. $kolor = &referencja($tab, 'kolor');
  10. $kolor = 'zielony';
  11. var_dump($tab);
  12. ?>

przykład niezbyt ambitny ale pokazuję jak można na przykład to wykorzystać
osobiście nie przepadam za referencjami, są moim zdaniem mało przyjazne użytkownikowi...
Go to the top of the page
+Quote Post
em1X
post 17.09.2007, 21:07:29
Post #4





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Referencja jest to przekazywanie przez wskaźnik, nie przez wartość.
Jeżeli nie widzisz jeszcze zastosowania dla tego typu instrukcji to na razie daj sobie z tym spokój smile.gif


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 4.06.2025 - 05:50