mam problem gdyż napisałem funkcję wyświetlającą jakiś widget, jako argumenty przyjmuje tablicę z bazy danych, zmienną i tablicę z innej już wywołanej funkcji.
To istotny fragment tej funkcji:
function widget_top($wid_top, $style, $fb_likes) { $widget_top = ' <div class="social_box"><img src="images/social_icon/like_small.png" alt="" />'.social_wyswietl($fb_likes->like_count, 'like').'</div> <div class="social_box"><img src="images/social_icon/share_small.png" alt="" />'.social_wyswietl($fb_likes->share_count, 'share').'</div> '; return $widget_top;
Problem jest w wywołaniu funkcji social_wyswietl gdyż niczego nie zwraca, normalnie działa bez problemu. Domyślam się że chodzi o jakiś zasięg zmiennych, lecz na tym się jeszcze nie znam. Zaczynam temat programowania obiektowego.
Social wyświetl:
function social_wyswietl($ilosc, $co) { $zwroc = ''; switch ($co) { case 'like': if ($ilosc == 1) $zwroc = $ilosc.' Polubienie'; elseif ($ilosc >= 2 && $ilosc < 5) $zwroc = $ilosc.' Polubienia'; else $zwroc = $ilosc.' Polubień'; break; case 'share': if ($ilosc == 1) $zwroc = $ilosc.' Udostępnienie'; elseif ($ilosc >= 2 && $ilosc < 5) $zwroc = $ilosc.' Udostępnienia'; else $zwroc = $ilosc.' Udostępnień'; break; } return $zwroc; }
ilością jest string $fb_likes->like_count, funkcja powinna zwrócić chodziaż sam tekst, czego nie zwraca wgl. Gdzie tkwi błąd?