Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Referencje i funkcja z różną ilością argumentów
Crozin
post
Post #1





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Witajcie...
piszę małą aplikację i chciałem w jakiś "wygodny" sposób filtrować dane które trafiają do bazy (głównie mysql_real_escape_string).
Ale napotkałem na mały problem, a mianowicie:
  1. <?php
  2. $zmienna='test';
  3. $zmienna2='inny test "dalszy ciag" i jeszcze cos';
  4. $db->escape(&$zmienna, &$zmienna2);
  5. echo $zmienna.' | '.$zmienna2;
  6. ?>
I oczywiście metoda escape (przykładowa):
  1. <?php
  2. public function escape($a, $b){
  3. $a=mysql_real_escape_string($a, self::$connection);
  4. $b=mysql_real_escape_string($b, self::$connection);
  5. }
  6. ?>
Wynik jaki dostaniemy:
  1. test | inny test \"dalszy ciag\" i jeszcze cos
No i wszystko ładnie... ale chciałbym wprowadzić pewną elastyczność - czyli różną ilość argumentów. Próbowałem robić coś w tym stylu (kod #1 jest taki sam - zmiana jedynie kodu metody)
  1. <?php
  2. public function escape(){
  3. $amount=func_num_args();
  4.  
  5. for($i=0; $i<$amount; $i++){
  6. $zmienna=func_get_arg($i);
  7. $zmienna=mysql_real_escape_string($zmienna, self::$connection); 
  8. }
  9. }
  10. ?>
Ale nie za bardzo to działa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Probowałem też z func_get_args i foreach'em, ale efekt również "nieciekawy"

Nie bardzo w ogóle wiem czy to możliwe (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ale może jest jakiś sposób?

Pozdrawiam,

EDIT:
Można by zawsze ustawić 30 argumentów dla f-cji... i każy jako opcionalny, ale to nie jest za ciekawa wersja (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Crozin 11.08.2007, 22:46:03
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: 23.08.2025 - 14:13