Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Argumenty funkcji jako referencje, Nieznana liczba argumentow
lord_t
post
Post #1





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Elo,

chciałbym napisać funkcję przyjmującą różną ilość argumentów (np. 0,3,1000), które to będę w niej zmieniał i chcę żeby poza funkcją były zmienione. Stąd referencja. Parametry odbiorę sobie poprzez:
  1. <?php
  2. $ilosca = func_num_args();
  3. $args  = func_get_args();
  4. ?>

Jak zrobić, żeby wszystkie arg. były przekazane przez referencję i bez wykorzystania tablicy w wywołaniu funkcji?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Marek Rynarzewsk...
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.11.2011

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


Możesz spróbować tego:
  1. <?php
  2. function arrbyref(&$array, $search, $replace_on, $act_on_keys = true)
  3. {
  4. if ($act_on_keys)
  5. if (array_key_exists($search, $array))
  6. $array[$search] = $replace_on;
  7. else
  8. return false;
  9. else
  10. {
  11. if (in_array($search, $array))
  12. {
  13. $key = array_search($search, $array);
  14. $array[$key] = $replace_on;
  15. }
  16. }
  17. }
  18. $a = 1;
  19. $b = 'ala';
  20. $c = 0x35fa;
  21. $d = array(&$a, &$b, &$c); //zapisujesz zmienne w tablicy przez referencję
  22. arrbyref($d, 'ala', 'alina', false);
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: 26.09.2025 - 10:25