Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak działa define()
-matahmed-
post
Post #1





Goście







Mój problem polega na tym że zazwyczaj używam c++ a php tylko w razie nagłej potrzeby (IMG:style_emoticons/default/wink.gif) . Zasdniczo chodzi o to że napisałem funkcję która przyjmuje dużo parametrów. Ponieważ często tą funkcję wywołuję postanowiłem sobie zdefiniować jakiś literał -> żeby usprawnić pisanie kodu.

zrobiłem to w następujący sposób:

  1. define('parametry', "'ROZKAZ', 3 , 'dane', 4 , 'jakis_string', 4");


wywołanie funkcji:

  1. jakas_funkcja(parametry);


Problem jest taki że funkcja wywołuje się z jednym parametrm równym stringowi -> 'ROZKAZ', 3 , 'dane', 4 , 'jakis_string', 4

a chciałbym żeby wywoła się z 6 parametrami (3 stringami i 3 int'ami).

Ktoś wie jak rozwiązać taki problem, ew wytłumaczyć jak działa funkcja define w php?

Od razu uprzedzę komentarze w stylu: "Po co do 6 argumentów definiować literał(IMG:style_emoticons/default/questionmark.gif) " - problem który przedstawiłem to duże uproszczenie mojego problemu, ale obrazuje o co mi chodzi. Z góry dzięki za każdą pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




define działa tak. Dziwisz się, że do funkcji przekazywany jest ciąg znaków? No ale taką wartość przyjmuje Twoja stała. Jeśli chcesz tą wartość przekształcić na tablicę to skorzystaj chociażby z explode, po czym przekaż ją do call_user_func_array w celu wywołania funkcji z parametrami.
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: 8.10.2025 - 13:42