Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Argumenty funkcji jako referencje
Forum PHP.pl > Forum > PHP
lord_t
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?
Marek Rynarzewski
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);
cojack
  1. mojafunkcja(&$as, &$ok, &$wtf);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.