Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekazywanie pustej zmiennej do funkcji.
MalyKazio
post
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Witam.

Piszę funkcję dodającą dane do bazy danych. Jako jedyny argument przekazuję do funkcji tablicę $wartosci. Przed dodaniem wszystkie dane są przepuszczane przez funkcję sprawdzającą ich poprawność. Mam pytanie dotyczące danych, które mają być liczbami. Funkcja sprawdzająca wygląda mniej więcej tak:
  1. <?php
  2. function sprawdz($co) {
  3. (int)$co;
  4. // dalej sprawdzanie zakresu itp.
  5. }
  6. ?>

Przed dodaniem do bazy wywołuję dla każdej porzebnej wartości funkcję czyli np:
  1. <?php
  2. $dodaj['wiek']=sprawdz($wartosci['wiek']);
  3. ?>

Czasem jednak przekazywana tablica $wartosc może nie zawierać $wartosci['wiek']. Czy zatem błędem jest przekazywanie tego do funkcji sprawdz? Czy konieczne jest uprzednie sprawdzenie, czy taka wartosc w tablicy istnieje?

Ten post edytował MalyKazio 27.04.2008, 12:40:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MalyKazio
post
Post #2





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Array_map? Czyli mniej więcej jak?

  1. <?php
  2. // funkcja sprawdzajaca czy wartosc w tablicy istnieje
  3. function sprawdzczyjest($co,$domyslna) {
  4. if(isset($wartosci[$co])) {
  5. $wartosci[$co]=$wartosci[$co];
  6. } else {
  7. $wartosci[$co]=$domyslna;
  8. }
  9. return $wartosci[$co];
  10. }
  11.  
  12. $a = array('wiek', 'nrdomu', 'nrbuta', 'liczbadzieci'); // tablica z koniecznymi wartosciami $wartosci
  13. $b = array(18, 0, 40, 1); // wartosci domyslne
  14.  
  15. $wartosci = array_map("sprawdzczyjest", $a, $b);
  16. ?>


Cos takiego?

Ten post edytował MalyKazio 27.04.2008, 12:54:49
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: 9.10.2025 - 03:11