![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Czy wiecie jak sprawdzic jaka nazwa zmiennej byla wrzucona do funkcji?
przyklad:
tutaj musze przekazywac nazwe zmiennej czy jest mozliwosc obejscia tego? czyli jak w funkcji sprawdzic jaka nazwa zmienna a takze jej wartosc zostala przekazana do funkcji -------------------- Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 3.10.2004 Skąd: Taka wiocha koło Cieszyna :P Ostrzeżenie: (0%) ![]() ![]() |
Hmm...
Wyciagniecie nazwy parametru fnkcji - nie wydaje mi sie aby to było możliwe -chodziaż moge się mylić. A nawet jeśli to jest możliwe to nie widzę w tym żadnego sensu... Jeśli możesz rozwiń bardziej ten temat - co chcesz dokładnie zrobić i na co ci wyciąganie z funkcji -------------------- "Nemo Sine Vitiis Est" - Ktoś tak kiedyś powiedział... i miał rację.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
patrz ... masz funkcje
zamiast przekazywac nazwe pola po ktorym ma byc weryfikowane usuwanie to mozna po prostu wcisnac zmienna i nazwa zmiennej to nazwa pola a wartosc zmiennej to wartosc pola. takich przykladow mozna mnozyc ... przyklad wymyslony na szybko -------------------- Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Użyj tablicy. Z niej łatwo wyciągniesz indeks komórki.
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Nazw zmiennych przeslanych do funkcji nie mozna pobrac (a przynajmniej nie znalazlem nic na ten temat) ale mozesz pobrac ich wartosci przez func_get_args()" title="Zobacz w manualu PHP" target="_manual
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
krzychu - jej bez jaj po co sobie utrudniac zycie i wrzucac tablice i tworzyc ja do tego trzeba by jeszcze jakas funkcje zapodac, ktore wyszykuje danego indeksu ...
Seth - dzieki ale to juz znam -------------------- Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Nie sądzę abyś to znalazł. Bo jest to bardzo niebezpieczne. Że tak powiem, evil. Nazwa zmiennej to nazwa - można sobie zmieniać i robić co się komu podoba. I nie powinno to psuć kodu.
Co nie znaczy że nie może się to kiedyś przydać. Ale ponieważ ogólnie jest to rzecz z kategorii evil, więc raczej nie będzie tego w żadnym języku. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
eval( ); tez nie jest raczej zbyt bezpieczna funkcja ...
uwazam, ze to glupie gadanie ... uzywa sie czegos wtedy jesli sie tego umie uzywac ... a jesli sie nie umie to sie robi safe mode, limit czasu wykonania, register_globals, error_reporting i wiele innych restrykcji -------------------- Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
był już taki topic, dokladnie taki sam
popatrzcie na jedną rzecz - parametry są do funkcji przekazywane przez wartość dla php [na poziomie wykonywanej funkcji] nie ma przecież różnicy
a to dlatego że przekazywana jest tylko wartosc... -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 28.09.2007 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
otóż ja widzę zastosowanie czegoś takiego - powiedzmy, że potrzebuję funkcji, która szybko przetworzy mi dowolną listę parametrów.
przykład z życia, czyli kodu który aktualnie robię: $name = .............. $email = .............. $message = ............. (itede itede, jest jeszcze kilka takich) na końcu jest $db->query("insert into tabela ( name, email, message .... ) values ( $name, $email, $message ...... ); oczywiście pomiędzy jednym a drugim musi, ze względów bezpieczeństwa znaleźć się coś w stylu: $name = mysql_real_escape_string($name); $email = mysql_real_escape_string($email); .... itede... takie powtarzanie kodu jest evil. wiem, mogę wrzucić pola do tablicy i grzecznie przetworzyć tablicę, ale czy nie byłoby prościej i przyjemniej, gdybym mógł użyć funkcji $db->escape(&$name, &$email, &$message) ? próbowałem stworzyć taką funkcję, ale niestety php ma tutaj ograniczenie, bo jeśli używam tablicy func_get_args, to zawiera ona tylko kopie argumentów, tak więc zawartość argumentów nie ulegnie zmianie. gdyby tak klucze tablicy func_get_args zamiast numerków zawierały nazwy zmiennych - wtedy wszystko działałoby ok. i to wcale nie jest evil - bo kod nie ma się jak wysypać. cokolwiek zostanie użyte jako argument, zostanie przetworzone (lub nie, jeśli podano bez &) a może jest tu h4x0r który potrafi taką cudaczną funkcję zrobić? ;> eee... teraz mi głupio, bo się okazuje, że jest obejście proste jak drut: CODE <? function test($array) { foreach ( $array as $n=>$v ) { $array[$n] = strtolower($v); } } $a = 'RAZ'; $b = 'DWA'; $c = 'TRZY'; test(array(&$a, &$b, &$c)); echo "a=$a, b=$b, c=$c"; ?> |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 16:43 |