Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyświetlanie zmiennej w funkcji.
Mexet
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2016

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


Witam.
Od razu muszę przeprosić jeśli pomyliłem działy ale dosłownie kilka sekund temu założyłem tu konto (IMG:style_emoticons/default/biggrin.gif)

Ale do rzeczy... Ostatnio zacząłem uczyć się php i czytam, wykonuje ćwiczenia i tak dalej.No i napotkałem pewien problem..
Czy da się wyświetlić zmienną w funkcji?(IMG:style_emoticons/default/questionmark.gif) Pisze z telefonu więc kodu na razie nie wyśle ale zedytuję to w najbliższym czasie.
Na razie podam przykład (być m.oże to wystarczy do udzielenia pomocy (IMG:style_emoticons/default/wink.gif)
A więc mamy przykładowy kodzik:
<?php
class nazwa{
public $zmienna;
public $zmienna1;
function wyswietl(){
echo "Wpisane zmienne to $zmienna i $zmienna1";
}
}
$cosTam = new nazwa;
$cosTam->zmienna=" tekst";
$cosTam->zmienna1="tekscik";
$cosTam->wyswietl();
?>
Kod wygląda mniej więcej tak jak wyżej no i mi to nie działa i nie wiem dlaczego ;/ Próbowałem różnych rzeczy bo zwykle próbuje rozwiązać problem samemu do skutku ale tu niestety poległem ;/
Help me, please (IMG:style_emoticons/default/biggrin.gif) góry dziękuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


używaj bbcode

w klasie tak samo musisz używać $this->zmienna; tylko nie używa sie tam echo a zwraca się dane za pomocą return (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Mexet
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2016

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


Dzięki za odpowiedź (IMG:style_emoticons/default/wink.gif) Tylko nie wiem czy dobrze rozumiem (Jestem początkujący, więc jeśli się mylę, proszę o poprawienie mnie).

return zwraca chyba dane tak jakby "do programu" tylko chyba? A nie na ekran?
A w tym ćwiczeniu mam je wyświetlić tą funkcją na ekranie. Może jeśli je tu wrzucę to bdzie bardziej zrozumiałe (IMG:style_emoticons/default/wink.gif)
"Zdefiniuj klasę Osoba, która ma trzy pola: $imię, $nazwisko i $rok_urodzenia oraz dwie metody: wypisz() - wyświetlającą wszystkie dane w przeglądarce oraz osiemnascie() - sprawdzającą, czy dana osoba jest pełnoletnia."

Więc jeśli dobrze interpretuję bo wywołaniu "wypisz();" powinny się na ekranie wyświetlić dane tej osoby, tak? No i mam coś takiego:

<?php
class Osoba{
public $imie;
public $nazwisko;
public $rok_urodzenia;
function wypisz(){
echo "$imie, $nazwisko, $rok_urodzenia";
}
function osiemnascie(){
$x=2016-$rok_urodzenia;
if($x>=18){
echo "Jestes pelnoletni";
}
}
}
$czlowiek = new Osoba;
$czlowiek->imie="Zdzisiek";
$czlowiek->nazwisko="Nowak";
$czlowiek->rok_urodzenia=1997;
$czlowiek->wypisz();
$czlowiek->osiemnascie();
?>

No i osiemnascie(); wyświetla się poprawnie jeśli chodzi o podany rok ale wypisz(); wyświetla tylko "," które są między zmiennymi ;/ Jakby nie były widoczne.

Ten post edytował Mexet 10.03.2016, 22:00:42
Go to the top of the page
+Quote Post
MGie
post
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 5
Dołączył: 29.02.2016

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


Dostałeś odpowiedź i nie poprawiłeś,
przeanalizuj:
Kod
https://pl.wikibooks.org/wiki/PHP/Klasy_i_obiekty
Go to the top of the page
+Quote Post
com
post
Post #5





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Owszem nie zwraca na ekran ale echo nie używa się w klasach, robi się kod obiektowy nie udawany, nawet jak w poleceniu było by inaczej to jest to źle echo robisz jak już wywołujesz dana metodę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Mexet
post
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2016

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


Ach.. już rozumiem swój błąd, dzięki wielkie (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
com
post
Post #7





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Nie zastaniwajac sie nad poprawnością to coś takiego
  1. class Osoba{
  2. public $imie;
  3. public $nazwisko;
  4. public $rok_urodzenia;
  5. function wypisz(){
  6. return "$this->imie, $this->nazwisko, $this->rok_urodzenia";
  7. }
  8. function osiemnascie(){
  9. $x=2016-$this->rok_urodzenia;
  10. if($x>=18){
  11. return true;
  12. }
  13. return false;
  14. }
  15. }
  16. $czlowiek = new Osoba;
  17. $czlowiek->imie="Zdzisiek";
  18. $czlowiek->nazwisko="Nowak";
  19. $czlowiek->rok_urodzenia=1997;
  20. echo $czlowiek->wypisz();
  21. if($czlowiek->osiemnascie())
  22. echo "Jestes pelnoletni";
Go to the top of the page
+Quote Post

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: 25.08.2025 - 07:36