Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Funkcja przyjmuje dwa argumenty - jak podać tylko jeden?
krzychusss
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.02.2011

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


Witam.

Mam taki problem: mam funkcję, która przyjmuje dwa argumenty, jednak w pewnej sytuacji chcę podać jej tylko jeden. Na lokalnym serwerze wszystko działa, jak należy, jednak na produkcyjnym wywala ostrzeżenie:

CODE
Warning: Missing argument 1 for showArticles()


Funkcja skonstuowana jest tak:

  1. function showArticles($arg1, $arg2) {
  2. if (empty($arg1)) {
  3. //instrukcje
  4. }
  5. else {
  6. //instrukcje
  7. }
  8. }


Wszystko działa, tylko wywala to ostrzeżenie. Jak to obejść?

Ten post edytował krzychusss 13.08.2011, 13:38:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Włącz lokalnei wyświetlanie wszystkich błędów, a dla funkcji dla drugiego parametru daj defaultową wartość np : false / null.


--------------------
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Zwrócę jeszcze uwagę na użycie funkcji empty(). Trzeba pamiętać, że ta funkcja zwraca prawdę również wtedy, gdy argument ma wartość 0, czy false (więcej w manualu), dlatego jej użycie musi być w tym przypadku przemyślane. O tym jak nadać domyślne wartości argumentom funkcji możesz poczytać tutaj (warto przejrzeć przykłady).
Go to the top of the page
+Quote Post
peter13135
post
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Nie pomyliłeś z isset questionmark.gif

manual mówi:
Cytat
The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)


--------------------
:)
Go to the top of the page
+Quote Post
mortus
post
Post #5





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Nie. Przykład:
  1. $pustaZmienna = 0;
  2. if(isset($pustaZmienna)) {
  3. echo 'Pusta zmienna jest ustawiona.<br />';
  4. }
  5. if(empty($pustaZmienna)) {
  6. echo 'Ale nadal jest pusta.<br />';
  7. }


Zdanie "The following things are considered to be empty" tłumaczymy "Wymienione poniżej rzeczy z założenia są puste" (czy jakoś tak).
Go to the top of the page
+Quote Post
peter13135
post
Post #6





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Racja, coś mi sie pomieszało wink.gif


--------------------
:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:04