Wszystkie tutaj odpowiedzi są dobre, ale ... jesteś pewien, że chcesz to zrobić?
Zmiana zmiennych globalnych z poziomu funkcji jest generalnie złym pomysłem, ponieważ może bardzo łatwo spowodować, że kod spaghetti się wydarzy, w którym zmienne zmieniają się w całym systemie, funkcje są wzajemnie od siebie zależne itd. To jest prawdziwy bałagan .
Proszę pozwolić mi zaproponować kilka alternatyw:
1) Programowanie obiektowe
2) Mając funkcja zwraca wartość, która jest przypisana przez rozmówcę.
np. $ Zmienna = checkdate();
3) o wartości przechowywane w tablicy, która jest przekazywana do funkcji w odniesieniu
funkcji checkdate (& $ wartości) { if (m) { $ wartości [ "DATA" ] = "01-01-11"; } }
Mam nadzieję, że to pomoże.
Dla trzeciego przykładu (C), czy pierwsza i ostatnia linia odnoszą się do $ var lub $ funcVar ... czy ostatnia linia powinna być '$ var = checkdate ($ var);'? –
@JeromyFrench Pierwsza i ostatnia linia odnoszą się do zmiennej z zewnętrznego zakresu o nazwie '$ var'.Wewnątrz tej funkcji może mieć dowolną inną nazwę, więc wybrałem '$ funcVar' specjalnie dla zilustrowania, że nazwa może być inna. Odnośnie '$ var = checkdate ($ var); ', celem tego przykładu było pokazanie przejścia _by_referencji_ i zmiana przekazanej zmiennej bezpośrednio w funkcji. –
Ok, myślę, że rozumiem. 'function checkdate (& $ funcVar) w połączeniu z' checkdate ($ var) 'odwzorowuje zewnętrzny' $ var' na wewnętrzny '$ funcVar'. –